aboutsummaryrefslogtreecommitdiffstats
path: root/framework/scripts/installer/compass/onos_cluster/files/networking-onos.tar
blob: 085f89a7539f8472490ccc2d86ecbcb8f752d5ca (plain)
ofshex dumpascii
0000 6e 65 74 77 6f 72 6b 69 6e 67 2d 6f 6e 6f 73 2f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 networking-onos/................
0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0060 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000755.0001750.0001750.0000
0080 30 30 30 30 30 30 30 00 31 33 31 36 37 33 36 32 33 31 33 00 30 31 32 37 34 34 00 20 35 00 00 00 0000000.13167362313.012744..5...
00a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
00c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
00e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0100 00 75 73 74 61 72 20 20 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...onos...................
0120 00 00 00 00 00 00 00 00 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........onos...................
0140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
01a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
01c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
01e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0200 6e 65 74 77 6f 72 6b 69 6e 67 2d 6f 6e 6f 73 2f 74 6f 78 2e 69 6e 69 00 00 00 00 00 00 00 00 00 networking-onos/tox.ini.........
0220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0260 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000644.0001750.0001750.0000
0280 30 30 30 31 37 35 33 00 31 32 36 32 37 35 31 33 34 34 32 00 30 31 34 32 36 36 00 20 30 00 00 00 0001753.12627513442.014266..0...
02a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
02c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
02e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0300 00 75 73 74 61 72 20 20 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...onos...................
0320 00 00 00 00 00 00 00 00 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........onos...................
0340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
03a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
03c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
03e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0400 5b 74 6f 78 5d 0a 65 6e 76 6c 69 73 74 20 3d 20 70 79 32 37 2c 70 65 70 38 0a 6d 69 6e 76 65 72 [tox].envlist.=.py27,pep8.minver
0420 73 69 6f 6e 20 3d 20 31 2e 36 0a 73 6b 69 70 73 64 69 73 74 20 3d 20 54 72 75 65 0a 0a 5b 74 65 sion.=.1.6.skipsdist.=.True..[te
0440 73 74 65 6e 76 5d 0a 73 65 74 65 6e 76 20 3d 20 56 49 52 54 55 41 4c 5f 45 4e 56 3d 7b 65 6e 76 stenv].setenv.=.VIRTUAL_ENV={env
0460 64 69 72 7d 0a 75 73 65 64 65 76 65 6c 6f 70 20 3d 20 54 72 75 65 0a 69 6e 73 74 61 6c 6c 5f 63 dir}.usedevelop.=.True.install_c
0480 6f 6d 6d 61 6e 64 20 3d 20 70 69 70 20 69 6e 73 74 61 6c 6c 20 2d 72 20 72 65 71 75 69 72 65 6d ommand.=.pip.install.-r.requirem
04a0 65 6e 74 73 2e 74 78 74 20 2d 55 20 7b 6f 70 74 73 7d 20 7b 70 61 63 6b 61 67 65 73 7d 0a 64 65 ents.txt.-U.{opts}.{packages}.de
04c0 70 73 20 3d 20 2d 72 7b 74 6f 78 69 6e 69 64 69 72 7d 2f 74 65 73 74 2d 72 65 71 75 69 72 65 6d ps.=.-r{toxinidir}/test-requirem
04e0 65 6e 74 73 2e 74 78 74 0a 77 68 69 74 65 6c 69 73 74 5f 65 78 74 65 72 6e 61 6c 73 20 3d 20 62 ents.txt.whitelist_externals.=.b
0500 61 73 68 0a 63 6f 6d 6d 61 6e 64 73 20 3d 20 62 61 73 68 20 74 6f 6f 6c 73 2f 70 72 65 74 74 79 ash.commands.=.bash.tools/pretty
0520 5f 74 6f 78 2e 73 68 20 27 7b 70 6f 73 61 72 67 73 7d 27 0a 0a 5b 74 65 73 74 65 6e 76 3a 70 65 _tox.sh.'{posargs}'..[testenv:pe
0540 70 38 5d 0a 63 6f 6d 6d 61 6e 64 73 20 3d 20 66 6c 61 6b 65 38 0a 0a 5b 74 65 73 74 65 6e 76 3a p8].commands.=.flake8..[testenv:
0560 69 31 38 6e 5d 0a 63 6f 6d 6d 61 6e 64 73 20 3d 20 70 79 74 68 6f 6e 20 2e 2f 74 6f 6f 6c 73 2f i18n].commands.=.python../tools/
0580 63 68 65 63 6b 5f 69 31 38 6e 2e 70 79 20 2e 2f 6e 65 74 77 6f 72 6b 69 6e 67 5f 6f 6e 6f 73 20 check_i18n.py../networking_onos.
05a0 2e 2f 74 6f 6f 6c 73 2f 69 31 38 6e 5f 63 66 67 2e 70 79 0a 0a 5b 74 65 73 74 65 6e 76 3a 76 65 ./tools/i18n_cfg.py..[testenv:ve
05c0 6e 76 5d 0a 63 6f 6d 6d 61 6e 64 73 20 3d 20 7b 70 6f 73 61 72 67 73 7d 0a 0a 5b 74 65 73 74 65 nv].commands.=.{posargs}..[teste
05e0 6e 76 3a 63 6f 76 65 72 5d 0a 63 6f 6d 6d 61 6e 64 73 20 3d 20 70 79 74 68 6f 6e 20 73 65 74 75 nv:cover].commands.=.python.setu
0600 70 2e 70 79 20 74 65 73 74 72 20 2d 2d 63 6f 76 65 72 61 67 65 20 2d 2d 74 65 73 74 72 2d 61 72 p.py.testr.--coverage.--testr-ar
0620 67 73 3d 27 7b 70 6f 73 61 72 67 73 7d 27 0a 0a 5b 74 65 73 74 65 6e 76 3a 64 6f 63 73 5d 0a 63 gs='{posargs}'..[testenv:docs].c
0640 6f 6d 6d 61 6e 64 73 20 3d 20 70 79 74 68 6f 6e 20 73 65 74 75 70 2e 70 79 20 62 75 69 6c 64 5f ommands.=.python.setup.py.build_
0660 73 70 68 69 6e 78 0a 0a 5b 68 61 63 6b 69 6e 67 5d 0a 69 6d 70 6f 72 74 5f 65 78 63 65 70 74 69 sphinx..[hacking].import_excepti
0680 6f 6e 73 20 3d 20 6e 65 75 74 72 6f 6e 2e 69 31 38 6e 0a 6c 6f 63 61 6c 2d 63 68 65 63 6b 2d 66 ons.=.neutron.i18n.local-check-f
06a0 61 63 74 6f 72 79 20 3d 20 6e 65 75 74 72 6f 6e 2e 68 61 63 6b 69 6e 67 2e 63 68 65 63 6b 73 2e actory.=.neutron.hacking.checks.
06c0 66 61 63 74 6f 72 79 0a 73 68 6f 77 2d 73 6f 75 72 63 65 20 3d 20 54 72 75 65 0a 69 67 6e 6f 72 factory.show-source.=.True.ignor
06e0 65 20 3d 20 45 31 32 33 2c 45 31 32 34 2c 45 31 32 35 2c 48 38 30 33 0a 0a 5b 66 6c 61 6b 65 38 e.=.E123,E124,E125,H803..[flake8
0700 5d 0a 23 20 48 38 30 33 20 73 6b 69 70 70 65 64 20 6f 6e 20 70 75 72 70 6f 73 65 20 70 65 72 20 ].#.H803.skipped.on.purpose.per.
0720 6c 69 73 74 20 64 69 73 63 75 73 73 69 6f 6e 2e 0a 23 20 45 31 32 33 2c 20 45 31 32 35 20 73 6b list.discussion..#.E123,.E125.sk
0740 69 70 70 65 64 20 61 73 20 74 68 65 79 20 61 72 65 20 69 6e 76 61 6c 69 64 20 50 45 50 2d 38 2e ipped.as.they.are.invalid.PEP-8.
0760 0a 73 68 6f 77 2d 73 6f 75 72 63 65 20 3d 20 54 72 75 65 0a 69 67 6e 6f 72 65 20 3d 20 45 31 32 .show-source.=.True.ignore.=.E12
0780 33 2c 45 31 32 35 2c 48 38 30 33 0a 62 75 69 6c 74 69 6e 73 20 3d 20 5f 0a 65 78 63 6c 75 64 65 3,E125,H803.builtins.=._.exclude
07a0 3d 2e 76 65 6e 76 2c 2e 67 69 74 2c 2e 74 6f 78 2c 64 69 73 74 2c 64 6f 63 2c 2a 6f 70 65 6e 73 =.venv,.git,.tox,dist,doc,*opens
07c0 74 61 63 6b 2f 63 6f 6d 6d 6f 6e 2a 2c 2a 6c 69 62 2f 70 79 74 68 6f 6e 2a 2c 2a 65 67 67 2c 62 tack/common*,*lib/python*,*egg,b
07e0 75 69 6c 64 2c 74 6f 6f 6c 73 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 uild,tools......................
0800 6e 65 74 77 6f 72 6b 69 6e 67 2d 6f 6e 6f 73 2f 73 65 74 75 70 2e 63 66 67 00 00 00 00 00 00 00 networking-onos/setup.cfg.......
0820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0860 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000644.0001750.0001750.0000
0880 30 30 30 32 35 35 31 00 31 33 31 36 37 33 36 32 33 31 33 00 30 31 34 35 37 30 00 20 30 00 00 00 0002551.13167362313.014570..0...
08a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
08c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
08e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0900 00 75 73 74 61 72 20 20 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...onos...................
0920 00 00 00 00 00 00 00 00 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........onos...................
0940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
09a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
09c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
09e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0a00 5b 6d 65 74 61 64 61 74 61 5d 0a 6e 61 6d 65 20 3d 20 6e 65 74 77 6f 72 6b 69 6e 67 2d 6f 6e 6f [metadata].name.=.networking-ono
0a20 73 0a 73 75 6d 6d 61 72 79 20 3d 20 4f 70 65 6e 53 74 61 63 6b 20 4e 65 74 77 6f 72 6b 69 6e 67 s.summary.=.OpenStack.Networking
0a40 0a 64 65 73 63 72 69 70 74 69 6f 6e 2d 66 69 6c 65 20 3d 0a 20 20 20 20 52 45 41 44 4d 45 2e 72 .description-file.=.....README.r
0a60 73 74 0a 61 75 74 68 6f 72 20 3d 20 4f 70 65 6e 53 74 61 63 6b 0a 61 75 74 68 6f 72 2d 65 6d 61 st.author.=.OpenStack.author-ema
0a80 69 6c 20 3d 20 6f 70 65 6e 73 74 61 63 6b 2d 64 65 76 40 6c 69 73 74 73 2e 6f 70 65 6e 73 74 61 il.=.openstack-dev@lists.opensta
0aa0 63 6b 2e 6f 72 67 0a 68 6f 6d 65 2d 70 61 67 65 20 3d 20 68 74 74 70 3a 2f 2f 77 77 77 2e 6f 70 ck.org.home-page.=.http://www.op
0ac0 65 6e 73 74 61 63 6b 2e 6f 72 67 2f 0a 63 6c 61 73 73 69 66 69 65 72 20 3d 0a 20 20 20 20 45 6e enstack.org/.classifier.=.....En
0ae0 76 69 72 6f 6e 6d 65 6e 74 20 3a 3a 20 4f 70 65 6e 53 74 61 63 6b 0a 20 20 20 20 49 6e 74 65 6e vironment.::.OpenStack.....Inten
0b00 64 65 64 20 41 75 64 69 65 6e 63 65 20 3a 3a 20 49 6e 66 6f 72 6d 61 74 69 6f 6e 20 54 65 63 68 ded.Audience.::.Information.Tech
0b20 6e 6f 6c 6f 67 79 0a 20 20 20 20 49 6e 74 65 6e 64 65 64 20 41 75 64 69 65 6e 63 65 20 3a 3a 20 nology.....Intended.Audience.::.
0b40 53 79 73 74 65 6d 20 41 64 6d 69 6e 69 73 74 72 61 74 6f 72 73 0a 20 20 20 20 4c 69 63 65 6e 73 System.Administrators.....Licens
0b60 65 20 3a 3a 20 4f 53 49 20 41 70 70 72 6f 76 65 64 20 3a 3a 20 41 70 61 63 68 65 2d 32 2e 30 20 e.::.OSI.Approved.::.Apache-2.0.
0b80 53 6f 66 74 77 61 72 65 20 4c 69 63 65 6e 73 65 0a 20 20 20 20 4f 70 65 72 61 74 69 6e 67 20 53 Software.License.....Operating.S
0ba0 79 73 74 65 6d 20 3a 3a 20 50 4f 53 49 58 20 3a 3a 20 4c 69 6e 75 78 0a 20 20 20 20 50 72 6f 67 ystem.::.POSIX.::.Linux.....Prog
0bc0 72 61 6d 6d 69 6e 67 20 4c 61 6e 67 75 61 67 65 20 3a 3a 20 50 79 74 68 6f 6e 0a 20 20 20 20 50 ramming.Language.::.Python.....P
0be0 72 6f 67 72 61 6d 6d 69 6e 67 20 4c 61 6e 67 75 61 67 65 20 3a 3a 20 50 79 74 68 6f 6e 20 3a 3a rogramming.Language.::.Python.::
0c00 20 32 0a 20 20 20 20 50 72 6f 67 72 61 6d 6d 69 6e 67 20 4c 61 6e 67 75 61 67 65 20 3a 3a 20 50 .2.....Programming.Language.::.P
0c20 79 74 68 6f 6e 20 3a 3a 20 32 2e 37 0a 0a 5b 66 69 6c 65 73 5d 0a 70 61 63 6b 61 67 65 73 20 3d ython.::.2.7..[files].packages.=
0c40 0a 20 20 20 20 6e 65 74 77 6f 72 6b 69 6e 67 5f 6f 6e 6f 73 0a 64 61 74 61 5f 66 69 6c 65 73 20 .....networking_onos.data_files.
0c60 3d 0a 20 20 20 20 65 74 63 2f 6e 65 75 74 72 6f 6e 2f 70 6c 75 67 69 6e 73 2f 6d 6c 32 20 3d 0a =.....etc/neutron/plugins/ml2.=.
0c80 20 20 20 20 20 20 20 20 65 74 63 2f 63 6f 6e 66 5f 6f 6e 6f 73 2e 69 6e 69 0a 0a 5b 67 6c 6f 62 ........etc/conf_onos.ini..[glob
0ca0 61 6c 5d 0a 73 65 74 75 70 2d 68 6f 6f 6b 73 20 3d 0a 20 20 20 20 70 62 72 2e 68 6f 6f 6b 73 2e al].setup-hooks.=.....pbr.hooks.
0cc0 73 65 74 75 70 5f 68 6f 6f 6b 0a 0a 5b 65 6e 74 72 79 5f 70 6f 69 6e 74 73 5d 0a 6e 65 75 74 72 setup_hook..[entry_points].neutr
0ce0 6f 6e 2e 6d 6c 32 2e 6d 65 63 68 61 6e 69 73 6d 5f 64 72 69 76 65 72 73 20 3d 0a 20 20 20 20 6f on.ml2.mechanism_drivers.=.....o
0d00 6e 6f 73 5f 6d 6c 32 20 3d 20 6e 65 74 77 6f 72 6b 69 6e 67 5f 6f 6e 6f 73 2e 70 6c 75 67 69 6e nos_ml2.=.networking_onos.plugin
0d20 73 2e 6d 6c 32 2e 64 72 69 76 65 72 3a 4f 4e 4f 53 4d 65 63 68 61 6e 69 73 6d 44 72 69 76 65 72 s.ml2.driver:ONOSMechanismDriver
0d40 0a 6e 65 75 74 72 6f 6e 2e 73 65 72 76 69 63 65 5f 70 6c 75 67 69 6e 73 20 3d 0a 20 20 20 20 6f .neutron.service_plugins.=.....o
0d60 6e 6f 73 5f 72 6f 75 74 65 72 20 3d 20 6e 65 74 77 6f 72 6b 69 6e 67 5f 6f 6e 6f 73 2e 70 6c 75 nos_router.=.networking_onos.plu
0d80 67 69 6e 73 2e 6c 33 2e 64 72 69 76 65 72 3a 4f 4e 4f 53 4c 33 50 6c 75 67 69 6e 0a 0a 5b 62 75 gins.l3.driver:ONOSL3Plugin..[bu
0da0 69 6c 64 5f 73 70 68 69 6e 78 5d 0a 61 6c 6c 5f 66 69 6c 65 73 20 3d 20 31 0a 62 75 69 6c 64 2d ild_sphinx].all_files.=.1.build-
0dc0 64 69 72 20 3d 20 64 6f 63 2f 62 75 69 6c 64 0a 73 6f 75 72 63 65 2d 64 69 72 20 3d 20 64 6f 63 dir.=.doc/build.source-dir.=.doc
0de0 2f 73 6f 75 72 63 65 0a 0a 5b 65 78 74 72 61 63 74 5f 6d 65 73 73 61 67 65 73 5d 0a 6b 65 79 77 /source..[extract_messages].keyw
0e00 6f 72 64 73 20 3d 20 5f 20 67 65 74 74 65 78 74 20 6e 67 65 74 74 65 78 74 20 6c 5f 20 6c 61 7a ords.=._.gettext.ngettext.l_.laz
0e20 79 5f 67 65 74 74 65 78 74 0a 6d 61 70 70 69 6e 67 5f 66 69 6c 65 20 3d 20 62 61 62 65 6c 2e 63 y_gettext.mapping_file.=.babel.c
0e40 66 67 0a 6f 75 74 70 75 74 5f 66 69 6c 65 20 3d 20 6e 65 74 77 6f 72 6b 69 6e 67 5f 6f 6e 6f 73 fg.output_file.=.networking_onos
0e60 2f 6c 6f 63 61 6c 65 2f 6e 65 74 77 6f 72 6b 69 6e 67 2d 6f 6e 6f 73 2e 70 6f 74 0a 0a 5b 63 6f /locale/networking-onos.pot..[co
0e80 6d 70 69 6c 65 5f 63 61 74 61 6c 6f 67 5d 0a 64 69 72 65 63 74 6f 72 79 20 3d 20 6e 65 74 77 6f mpile_catalog].directory.=.netwo
0ea0 72 6b 69 6e 67 5f 6f 6e 6f 73 2f 6c 6f 63 61 6c 65 0a 64 6f 6d 61 69 6e 20 3d 20 6e 65 74 77 6f rking_onos/locale.domain.=.netwo
0ec0 72 6b 69 6e 67 2d 6f 6e 6f 73 0a 0a 5b 75 70 64 61 74 65 5f 63 61 74 61 6c 6f 67 5d 0a 64 6f 6d rking-onos..[update_catalog].dom
0ee0 61 69 6e 20 3d 20 6e 65 74 77 6f 72 6b 69 6e 67 2d 6f 6e 6f 73 0a 6f 75 74 70 75 74 5f 64 69 72 ain.=.networking-onos.output_dir
0f00 20 3d 20 6e 65 74 77 6f 72 6b 69 6e 67 5f 6f 6e 6f 73 2f 6c 6f 63 61 6c 65 0a 69 6e 70 75 74 5f .=.networking_onos/locale.input_
0f20 66 69 6c 65 20 3d 20 6e 65 74 77 6f 72 6b 69 6e 67 5f 6f 6e 6f 73 2f 6c 6f 63 61 6c 65 2f 6e 65 file.=.networking_onos/locale/ne
0f40 74 77 6f 72 6b 69 6e 67 2d 6f 6e 6f 73 2e 70 6f 74 0a 0a 5b 77 68 65 65 6c 5d 0a 75 6e 69 76 65 tworking-onos.pot..[wheel].unive
0f60 72 73 61 6c 20 3d 20 31 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 rsal.=.1........................
0f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1000 6e 65 74 77 6f 72 6b 69 6e 67 2d 6f 6e 6f 73 2f 6e 65 74 77 6f 72 6b 69 6e 67 5f 6f 6e 6f 73 2f networking-onos/networking_onos/
1020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1060 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000755.0001750.0001750.0000
1080 30 30 30 30 30 30 30 00 31 32 36 32 37 35 31 33 34 34 32 00 30 31 36 31 37 32 00 20 35 00 00 00 0000000.12627513442.016172..5...
10a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1100 00 75 73 74 61 72 20 20 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...onos...................
1120 00 00 00 00 00 00 00 00 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........onos...................
1140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1200 6e 65 74 77 6f 72 6b 69 6e 67 2d 6f 6e 6f 73 2f 6e 65 74 77 6f 72 6b 69 6e 67 5f 6f 6e 6f 73 2f networking-onos/networking_onos/
1220 70 6c 75 67 69 6e 73 2f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 plugins/........................
1240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1260 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000755.0001750.0001750.0000
1280 30 30 30 30 30 30 30 00 31 32 36 32 37 35 31 33 34 34 32 00 30 31 37 36 35 33 00 20 35 00 00 00 0000000.12627513442.017653..5...
12a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1300 00 75 73 74 61 72 20 20 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...onos...................
1320 00 00 00 00 00 00 00 00 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........onos...................
1340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1400 6e 65 74 77 6f 72 6b 69 6e 67 2d 6f 6e 6f 73 2f 6e 65 74 77 6f 72 6b 69 6e 67 5f 6f 6e 6f 73 2f networking-onos/networking_onos/
1420 70 6c 75 67 69 6e 73 2f 5f 5f 69 6e 69 74 5f 5f 2e 70 79 00 00 00 00 00 00 00 00 00 00 00 00 00 plugins/__init__.py.............
1440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1460 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000644.0001750.0001750.0000
1480 30 30 30 30 30 30 30 00 31 32 36 32 37 35 31 33 34 34 32 00 30 32 31 37 35 32 00 20 30 00 00 00 0000000.12627513442.021752..0...
14a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1500 00 75 73 74 61 72 20 20 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...onos...................
1520 00 00 00 00 00 00 00 00 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........onos...................
1540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1600 6e 65 74 77 6f 72 6b 69 6e 67 2d 6f 6e 6f 73 2f 6e 65 74 77 6f 72 6b 69 6e 67 5f 6f 6e 6f 73 2f networking-onos/networking_onos/
1620 70 6c 75 67 69 6e 73 2f 6d 6c 32 2f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 plugins/ml2/....................
1640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1660 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000755.0001750.0001750.0000
1680 30 30 30 30 30 30 30 00 31 32 36 32 37 35 31 33 34 34 32 00 30 32 30 33 34 35 00 20 35 00 00 00 0000000.12627513442.020345..5...
16a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1700 00 75 73 74 61 72 20 20 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...onos...................
1720 00 00 00 00 00 00 00 00 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........onos...................
1740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1800 6e 65 74 77 6f 72 6b 69 6e 67 2d 6f 6e 6f 73 2f 6e 65 74 77 6f 72 6b 69 6e 67 5f 6f 6e 6f 73 2f networking-onos/networking_onos/
1820 70 6c 75 67 69 6e 73 2f 6d 6c 32 2f 52 45 41 44 4d 45 00 00 00 00 00 00 00 00 00 00 00 00 00 00 plugins/ml2/README..............
1840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1860 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000644.0001750.0001750.0000
1880 30 30 30 32 33 37 30 00 31 32 36 32 37 35 31 33 34 34 32 00 30 32 31 32 32 37 00 20 30 00 00 00 0002370.12627513442.021227..0...
18a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1900 00 75 73 74 61 72 20 20 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...onos...................
1920 00 00 00 00 00 00 00 00 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........onos...................
1940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a00 4f 70 65 6e 20 4e 65 74 77 6f 72 6b 69 6e 67 20 4f 70 65 72 61 74 69 6e 67 20 53 79 73 74 65 6d Open.Networking.Operating.System
1a20 20 28 4f 4e 4f 53 29 20 4d 4c 32 20 4d 65 63 68 61 6e 69 73 6d 44 72 69 76 65 72 0a 3d 3d 3d 3d .(ONOS).ML2.MechanismDriver.====
1a40 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================================
1a60 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 4f 4e 4f 53 20 69 73 20 61 ======================.ONOS.is.a
1a80 20 63 61 72 72 69 65 72 20 67 72 61 64 65 20 53 44 4e 20 6f 70 65 6e 20 6f 70 65 72 61 74 69 6e .carrier.grade.SDN.open.operatin
1aa0 67 20 73 79 73 74 65 6d 20 64 65 73 69 67 6e 65 64 20 66 6f 72 0a 48 69 67 68 20 41 76 61 69 6c g.system.designed.for.High.Avail
1ac0 61 62 69 6c 69 74 79 2c 20 73 63 61 6c 65 2d 6f 75 74 20 61 6e 64 20 62 65 74 74 65 72 20 70 65 ability,.scale-out.and.better.pe
1ae0 72 66 6f 72 6d 61 6e 63 65 2e 0a 0a 20 20 20 20 68 74 74 70 3a 2f 2f 77 77 77 2e 6f 6e 6f 73 70 rformance.......http://www.onosp
1b00 72 6f 6a 65 63 74 2e 6f 72 67 2f 0a 0a 4d 6f 64 65 20 6f 66 20 57 6f 72 6b 69 6e 67 3a 0a 3d 3d roject.org/..Mode.of.Working:.==
1b20 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 54 68 65 20 6e 65 74 77 6f 72 6b 69 6e 67 2d 6f 6e ==============.The.networking-on
1b40 6f 73 20 70 72 6f 6a 65 63 74 20 70 72 6f 76 69 64 65 73 20 61 20 74 68 69 6e 20 6c 61 79 65 72 os.project.provides.a.thin.layer
1b60 20 77 68 69 63 68 20 6d 61 6b 65 73 20 74 68 65 0a 63 6f 6d 6d 75 6e 69 63 61 74 69 6f 6e 20 62 .which.makes.the.communication.b
1b80 65 74 77 65 65 6e 20 4f 4e 4f 53 20 61 6e 64 20 4f 70 65 6e 53 74 61 63 6b 20 6e 65 75 74 72 6f etween.ONOS.and.OpenStack.neutro
1ba0 6e 20 70 6f 73 73 69 62 6c 65 20 76 69 61 20 52 65 53 54 0a 63 61 6c 6c 2e 20 54 68 65 20 64 72 n.possible.via.ReST.call..The.dr
1bc0 69 76 65 72 20 63 6f 64 65 20 63 61 6e 20 62 65 20 64 6f 77 6e 6c 6f 61 64 65 64 20 66 72 6f 6d iver.code.can.be.downloaded.from
1be0 3a 0a 0a 20 20 20 20 68 74 74 70 73 3a 2f 2f 67 69 74 2e 6f 70 65 6e 73 74 61 63 6b 2e 6f 72 67 :......https://git.openstack.org
1c00 2f 63 67 69 74 2f 6f 70 65 6e 73 74 61 63 6b 2f 6e 65 74 77 6f 72 6b 69 6e 67 2d 6f 6e 6f 73 0a /cgit/openstack/networking-onos.
1c20 0a 55 73 69 6e 67 20 4f 4e 4f 53 20 4d 4c 32 20 4d 65 63 68 61 6e 69 73 6d 44 72 69 76 65 72 0a .Using.ONOS.ML2.MechanismDriver.
1c40 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 54 ==============================.T
1c60 6f 20 75 73 65 20 4f 4e 4f 53 20 4d 4c 32 20 4d 65 63 68 61 6e 69 73 6d 44 72 69 76 65 72 20 6f o.use.ONOS.ML2.MechanismDriver.o
1c80 6e 65 20 73 68 6f 75 6c 64 0a 31 2e 20 4d 61 6b 65 20 73 75 72 65 20 6e 65 74 77 6f 72 6b 69 6e ne.should.1..Make.sure.networkin
1ca0 67 2d 6f 6e 6f 73 20 63 6f 64 65 20 69 73 20 64 6f 77 6e 6c 6f 61 64 65 64 20 61 6e 64 20 69 6e g-onos.code.is.downloaded.and.in
1cc0 73 74 61 6c 6c 65 64 2e 20 49 66 20 64 6f 69 6e 67 0a 20 20 20 6d 61 6e 6e 75 61 6c 6c 79 20 74 stalled..If.doing....mannually.t
1ce0 68 65 6e 20 64 6f 77 6e 6c 6f 61 64 20 74 68 65 20 63 6f 64 65 2c 20 67 6f 20 69 6e 73 69 64 65 hen.download.the.code,.go.inside
1d00 20 6e 65 74 77 6f 72 6b 69 6e 67 5f 6f 6e 6f 73 20 66 6f 6c 64 65 72 0a 20 20 20 61 6e 64 20 66 .networking_onos.folder....and.f
1d20 69 6e 61 6c 6c 79 20 72 75 6e 20 22 73 75 64 6f 20 70 79 74 68 6f 6e 20 73 65 74 75 70 2e 70 79 inally.run."sudo.python.setup.py
1d40 20 69 6e 73 74 61 6c 6c 22 20 6f 74 68 65 72 77 69 73 65 20 64 6f 77 6e 6c 6f 61 64 20 74 68 65 .install".otherwise.download.the
1d60 0a 20 20 20 72 65 71 75 69 72 65 64 20 70 61 63 6b 61 67 65 20 76 65 72 73 69 6f 6e 20 66 72 6f ....required.package.version.fro
1d80 6d 20 22 68 74 74 70 73 3a 2f 2f 70 79 70 69 2e 70 79 74 68 6f 6e 2e 6f 72 67 2f 70 79 70 69 2f m."https://pypi.python.org/pypi/
1da0 6e 65 74 77 6f 72 6b 69 6e 67 2d 6f 6e 6f 73 2f 22 0a 20 20 20 61 6e 64 20 69 6e 73 74 61 6c 6c networking-onos/"....and.install
1dc0 20 75 73 69 6e 67 20 70 69 70 2e 0a 0a 32 2e 20 43 6f 6e 66 69 67 75 72 65 20 4f 4e 4f 53 20 61 .using.pip...2..Configure.ONOS.a
1de0 73 20 74 68 65 20 72 65 71 75 69 72 65 64 20 4d 4c 32 20 22 6d 65 63 68 61 6e 69 73 6d 5f 64 72 s.the.required.ML2."mechanism_dr
1e00 69 76 65 72 73 22 20 69 6e 0a 20 20 20 6e 65 75 74 72 6f 6e 2f 70 6c 75 67 69 6e 73 2f 6d 6c 32 ivers".in....neutron/plugins/ml2
1e20 2f 6d 6c 32 5f 63 6f 6e 66 2e 69 6e 69 3a 0a 0a 20 20 20 20 6d 65 63 68 61 6e 69 73 6d 5f 64 72 /ml2_conf.ini:......mechanism_dr
1e40 69 76 65 72 73 3d 6f 6e 6f 73 5f 6d 6c 32 0a 0a 33 2e 20 43 6f 6e 66 69 67 75 72 65 20 4f 4e 4f ivers=onos_ml2..3..Configure.ONO
1e60 53 20 63 72 65 64 65 6e 74 69 61 6c 73 20 69 6e 20 6e 65 74 77 6f 72 6b 69 6e 67 5f 6f 6e 6f 73 S.credentials.in.networking_onos
1e80 2f 65 74 63 2f 63 6f 6e 66 5f 6f 6e 6f 73 2e 69 6e 69 2e 0a 0a 34 2e 20 53 74 61 72 74 20 6e 65 /etc/conf_onos.ini...4..Start.ne
1ea0 75 74 72 6f 6e 20 73 65 72 76 65 72 20 6d 65 6e 74 69 6f 6e 69 6e 67 20 6e 65 74 77 6f 72 6b 69 utron.server.mentioning.networki
1ec0 6e 67 5f 6f 6e 6f 73 2f 65 74 63 2f 63 6f 6e 66 5f 6f 6e 6f 73 2e 69 6e 69 20 61 73 0a 20 20 20 ng_onos/etc/conf_onos.ini.as....
1ee0 6f 6e 65 20 6f 66 20 74 68 65 20 63 6f 6e 66 69 67 2d 66 69 6c 65 2e 0a 00 00 00 00 00 00 00 00 one.of.the.config-file..........
1f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2000 6e 65 74 77 6f 72 6b 69 6e 67 2d 6f 6e 6f 73 2f 6e 65 74 77 6f 72 6b 69 6e 67 5f 6f 6e 6f 73 2f networking-onos/networking_onos/
2020 70 6c 75 67 69 6e 73 2f 6d 6c 32 2f 64 72 69 76 65 72 2e 70 79 00 00 00 00 00 00 00 00 00 00 00 plugins/ml2/driver.py...........
2040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2060 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000644.0001750.0001750.0000
2080 30 30 31 33 34 30 35 00 31 32 36 32 37 35 31 33 34 34 32 00 30 32 32 32 31 35 00 20 30 00 00 00 0013405.12627513442.022215..0...
20a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2100 00 75 73 74 61 72 20 20 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...onos...................
2120 00 00 00 00 00 00 00 00 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........onos...................
2140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2200 23 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 30 31 35 20 48 75 61 77 65 69 20 54 65 63 68 #.Copyright.(c).2015.Huawei.Tech
2220 6e 6f 6c 6f 67 69 65 73 20 49 6e 64 69 61 20 50 76 74 20 4c 74 64 0a 23 20 41 6c 6c 20 52 69 67 nologies.India.Pvt.Ltd.#.All.Rig
2240 68 74 73 20 52 65 73 65 72 76 65 64 2e 0a 23 0a 23 20 20 20 20 4c 69 63 65 6e 73 65 64 20 75 6e hts.Reserved..#.#....Licensed.un
2260 64 65 72 20 74 68 65 20 41 70 61 63 68 65 20 4c 69 63 65 6e 73 65 2c 20 56 65 72 73 69 6f 6e 20 der.the.Apache.License,.Version.
2280 32 2e 30 20 28 74 68 65 20 22 4c 69 63 65 6e 73 65 22 29 3b 20 79 6f 75 20 6d 61 79 0a 23 20 20 2.0.(the."License");.you.may.#..
22a0 20 20 6e 6f 74 20 75 73 65 20 74 68 69 73 20 66 69 6c 65 20 65 78 63 65 70 74 20 69 6e 20 63 6f ..not.use.this.file.except.in.co
22c0 6d 70 6c 69 61 6e 63 65 20 77 69 74 68 20 74 68 65 20 4c 69 63 65 6e 73 65 2e 20 59 6f 75 20 6d mpliance.with.the.License..You.m
22e0 61 79 20 6f 62 74 61 69 6e 0a 23 20 20 20 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 4c 69 63 ay.obtain.#....a.copy.of.the.Lic
2300 65 6e 73 65 20 61 74 0a 23 0a 23 20 20 20 20 20 20 20 20 20 68 74 74 70 3a 2f 2f 77 77 77 2e 61 ense.at.#.#.........http://www.a
2320 70 61 63 68 65 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 4c 49 43 45 4e 53 45 2d 32 2e 30 0a 23 pache.org/licenses/LICENSE-2.0.#
2340 0a 23 20 20 20 20 55 6e 6c 65 73 73 20 72 65 71 75 69 72 65 64 20 62 79 20 61 70 70 6c 69 63 61 .#....Unless.required.by.applica
2360 62 6c 65 20 6c 61 77 20 6f 72 20 61 67 72 65 65 64 20 74 6f 20 69 6e 20 77 72 69 74 69 6e 67 2c ble.law.or.agreed.to.in.writing,
2380 20 73 6f 66 74 77 61 72 65 0a 23 20 20 20 20 64 69 73 74 72 69 62 75 74 65 64 20 75 6e 64 65 72 .software.#....distributed.under
23a0 20 74 68 65 20 4c 69 63 65 6e 73 65 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 6f 6e 20 61 .the.License.is.distributed.on.a
23c0 6e 20 22 41 53 20 49 53 22 20 42 41 53 49 53 2c 20 57 49 54 48 4f 55 54 0a 23 20 20 20 20 57 41 n."AS.IS".BASIS,.WITHOUT.#....WA
23e0 52 52 41 4e 54 49 45 53 20 4f 52 20 43 4f 4e 44 49 54 49 4f 4e 53 20 4f 46 20 41 4e 59 20 4b 49 RRANTIES.OR.CONDITIONS.OF.ANY.KI
2400 4e 44 2c 20 65 69 74 68 65 72 20 65 78 70 72 65 73 73 20 6f 72 20 69 6d 70 6c 69 65 64 2e 20 53 ND,.either.express.or.implied..S
2420 65 65 20 74 68 65 0a 23 20 20 20 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 74 68 65 20 73 70 65 63 ee.the.#....License.for.the.spec
2440 69 66 69 63 20 6c 61 6e 67 75 61 67 65 20 67 6f 76 65 72 6e 69 6e 67 20 70 65 72 6d 69 73 73 69 ific.language.governing.permissi
2460 6f 6e 73 20 61 6e 64 20 6c 69 6d 69 74 61 74 69 6f 6e 73 0a 23 20 20 20 20 75 6e 64 65 72 20 74 ons.and.limitations.#....under.t
2480 68 65 20 4c 69 63 65 6e 73 65 2e 0a 0a 66 72 6f 6d 20 6f 73 6c 6f 5f 63 6f 6e 66 69 67 20 69 6d he.License...from.oslo_config.im
24a0 70 6f 72 74 20 63 66 67 0a 66 72 6f 6d 20 6f 73 6c 6f 5f 6c 6f 67 20 69 6d 70 6f 72 74 20 68 65 port.cfg.from.oslo_log.import.he
24c0 6c 70 65 72 73 20 61 73 20 6c 6f 67 5f 68 65 6c 70 65 72 73 0a 66 72 6f 6d 20 6f 73 6c 6f 5f 6c lpers.as.log_helpers.from.oslo_l
24e0 6f 67 20 69 6d 70 6f 72 74 20 6c 6f 67 20 61 73 20 6c 6f 67 67 69 6e 67 0a 0a 66 72 6f 6d 20 6e og.import.log.as.logging..from.n
2500 65 75 74 72 6f 6e 2e 63 6f 6d 6d 6f 6e 20 69 6d 70 6f 72 74 20 63 6f 6e 73 74 61 6e 74 73 20 61 eutron.common.import.constants.a
2520 73 20 6e 5f 63 6f 6e 73 74 0a 66 72 6f 6d 20 6e 65 75 74 72 6f 6e 2e 65 78 74 65 6e 73 69 6f 6e s.n_const.from.neutron.extension
2540 73 20 69 6d 70 6f 72 74 20 70 6f 72 74 62 69 6e 64 69 6e 67 73 0a 66 72 6f 6d 20 6e 65 75 74 72 s.import.portbindings.from.neutr
2560 6f 6e 2e 70 6c 75 67 69 6e 73 2e 63 6f 6d 6d 6f 6e 20 69 6d 70 6f 72 74 20 63 6f 6e 73 74 61 6e on.plugins.common.import.constan
2580 74 73 0a 66 72 6f 6d 20 6e 65 75 74 72 6f 6e 2e 70 6c 75 67 69 6e 73 2e 6d 6c 32 20 69 6d 70 6f ts.from.neutron.plugins.ml2.impo
25a0 72 74 20 64 72 69 76 65 72 5f 61 70 69 20 61 73 20 61 70 69 0a 0a 66 72 6f 6d 20 6e 65 74 77 6f rt.driver_api.as.api..from.netwo
25c0 72 6b 69 6e 67 5f 6f 6e 6f 73 2e 63 6f 6d 6d 6f 6e 20 69 6d 70 6f 72 74 20 63 6f 6e 66 69 67 20 rking_onos.common.import.config.
25e0 20 23 20 6e 6f 71 61 0a 66 72 6f 6d 20 6e 65 74 77 6f 72 6b 69 6e 67 5f 6f 6e 6f 73 2e 63 6f 6d .#.noqa.from.networking_onos.com
2600 6d 6f 6e 20 69 6d 70 6f 72 74 20 75 74 69 6c 73 20 61 73 20 6f 6e 6f 73 5f 75 74 69 6c 73 0a 0a mon.import.utils.as.onos_utils..
2620 4c 4f 47 20 3d 20 6c 6f 67 67 69 6e 67 2e 67 65 74 4c 6f 67 67 65 72 28 5f 5f 6e 61 6d 65 5f 5f LOG.=.logging.getLogger(__name__
2640 29 0a 0a 0a 63 6c 61 73 73 20 4f 4e 4f 53 4d 65 63 68 61 6e 69 73 6d 44 72 69 76 65 72 28 61 70 )...class.ONOSMechanismDriver(ap
2660 69 2e 4d 65 63 68 61 6e 69 73 6d 44 72 69 76 65 72 29 3a 0a 0a 20 20 20 20 22 22 22 4f 70 65 6e i.MechanismDriver):......"""Open
2680 20 4e 65 74 77 6f 72 6b 69 6e 67 20 4f 70 65 72 61 74 69 6e 67 20 53 79 73 74 65 6d 20 4d 4c 32 .Networking.Operating.System.ML2
26a0 20 44 72 69 76 65 72 20 66 6f 72 20 4e 65 75 74 72 6f 6e 2e 0a 0a 20 20 20 20 43 6f 64 65 20 77 .Driver.for.Neutron.......Code.w
26c0 68 69 63 68 20 6d 61 6b 65 73 20 63 6f 6d 6d 75 6e 69 63 61 74 69 6f 6e 20 62 65 74 77 65 65 6e hich.makes.communication.between
26e0 20 4f 4e 4f 53 20 61 6e 64 20 4f 70 65 6e 53 74 61 63 6b 20 4e 65 75 74 72 6f 6e 0a 20 20 20 20 .ONOS.and.OpenStack.Neutron.....
2700 70 6f 73 73 69 62 6c 65 2e 0a 20 20 20 20 22 22 22 0a 20 20 20 20 64 65 66 20 5f 5f 69 6e 69 74 possible......""".....def.__init
2720 5f 5f 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 6f 6e 6f 73 5f 70 61 74 68 __(self):.........self.onos_path
2740 20 3d 20 63 66 67 2e 43 4f 4e 46 2e 6f 6e 6f 73 2e 75 72 6c 5f 70 61 74 68 0a 20 20 20 20 20 20 .=.cfg.CONF.onos.url_path.......
2760 20 20 73 65 6c 66 2e 6f 6e 6f 73 5f 61 75 74 68 20 3d 20 28 63 66 67 2e 43 4f 4e 46 2e 6f 6e 6f ..self.onos_auth.=.(cfg.CONF.ono
2780 73 2e 75 73 65 72 6e 61 6d 65 2c 20 63 66 67 2e 43 4f 4e 46 2e 6f 6e 6f 73 2e 70 61 73 73 77 6f s.username,.cfg.CONF.onos.passwo
27a0 72 64 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 76 69 66 5f 74 79 70 65 20 3d 20 70 6f 72 74 rd).........self.vif_type.=.port
27c0 62 69 6e 64 69 6e 67 73 2e 56 49 46 5f 54 59 50 45 5f 4f 56 53 0a 20 20 20 20 20 20 20 20 73 65 bindings.VIF_TYPE_OVS.........se
27e0 6c 66 2e 76 69 66 5f 64 65 74 61 69 6c 73 20 3d 20 7b 70 6f 72 74 62 69 6e 64 69 6e 67 73 2e 43 lf.vif_details.=.{portbindings.C
2800 41 50 5f 50 4f 52 54 5f 46 49 4c 54 45 52 3a 20 54 72 75 65 7d 0a 0a 20 20 20 20 64 65 66 20 69 AP_PORT_FILTER:.True}......def.i
2820 6e 69 74 69 61 6c 69 7a 65 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 4e 6f 20 61 63 nitialize(self):.........#.No.ac
2840 74 69 6f 6e 20 72 65 71 75 69 72 65 64 20 61 73 20 6f 66 20 6e 6f 77 2e 20 43 61 6e 20 62 65 20 tion.required.as.of.now..Can.be.
2860 65 78 74 65 6e 64 65 64 20 69 6e 0a 20 20 20 20 20 20 20 20 23 20 74 68 65 20 66 75 74 75 72 65 extended.in.........#.the.future
2880 20 69 66 20 72 65 71 75 69 72 65 64 2e 0a 20 20 20 20 20 20 20 20 70 61 73 73 0a 0a 20 20 20 20 .if.required..........pass......
28a0 40 6c 6f 67 5f 68 65 6c 70 65 72 73 2e 6c 6f 67 5f 6d 65 74 68 6f 64 5f 63 61 6c 6c 0a 20 20 20 @log_helpers.log_method_call....
28c0 20 64 65 66 20 63 72 65 61 74 65 5f 6e 65 74 77 6f 72 6b 5f 70 6f 73 74 63 6f 6d 6d 69 74 28 73 .def.create_network_postcommit(s
28e0 65 6c 66 2c 20 63 6f 6e 74 65 78 74 29 3a 0a 20 20 20 20 20 20 20 20 65 6e 74 69 74 79 5f 70 61 elf,.context):.........entity_pa
2900 74 68 20 3d 20 27 6e 65 74 77 6f 72 6b 73 27 0a 20 20 20 20 20 20 20 20 72 65 73 6f 75 72 63 65 th.=.'networks'.........resource
2920 20 3d 20 63 6f 6e 74 65 78 74 2e 63 75 72 72 65 6e 74 2e 63 6f 70 79 28 29 0a 20 20 20 20 20 20 .=.context.current.copy().......
2940 20 20 6f 6e 6f 73 5f 75 74 69 6c 73 2e 73 65 6e 64 5f 6d 73 67 28 73 65 6c 66 2e 6f 6e 6f 73 5f ..onos_utils.send_msg(self.onos_
2960 70 61 74 68 2c 20 73 65 6c 66 2e 6f 6e 6f 73 5f 61 75 74 68 2c 20 27 70 6f 73 74 27 2c 0a 20 20 path,.self.onos_auth,.'post',...
2980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6e 74 69 74 79 ..........................entity
29a0 5f 70 61 74 68 2c 20 7b 27 6e 65 74 77 6f 72 6b 27 3a 20 72 65 73 6f 75 72 63 65 7d 29 0a 0a 20 _path,.{'network':.resource})...
29c0 20 20 20 40 6c 6f 67 5f 68 65 6c 70 65 72 73 2e 6c 6f 67 5f 6d 65 74 68 6f 64 5f 63 61 6c 6c 0a ...@log_helpers.log_method_call.
29e0 20 20 20 20 64 65 66 20 75 70 64 61 74 65 5f 6e 65 74 77 6f 72 6b 5f 70 6f 73 74 63 6f 6d 6d 69 ....def.update_network_postcommi
2a00 74 28 73 65 6c 66 2c 20 63 6f 6e 74 65 78 74 29 3a 0a 20 20 20 20 20 20 20 20 65 6e 74 69 74 79 t(self,.context):.........entity
2a20 5f 70 61 74 68 20 3d 20 27 6e 65 74 77 6f 72 6b 73 2f 27 20 2b 20 63 6f 6e 74 65 78 74 2e 63 75 _path.=.'networks/'.+.context.cu
2a40 72 72 65 6e 74 5b 27 69 64 27 5d 0a 20 20 20 20 20 20 20 20 72 65 73 6f 75 72 63 65 20 3d 20 63 rrent['id'].........resource.=.c
2a60 6f 6e 74 65 78 74 2e 63 75 72 72 65 6e 74 2e 63 6f 70 79 28 29 0a 20 20 20 20 20 20 20 20 6f 6e ontext.current.copy().........on
2a80 6f 73 5f 75 74 69 6c 73 2e 73 65 6e 64 5f 6d 73 67 28 73 65 6c 66 2e 6f 6e 6f 73 5f 70 61 74 68 os_utils.send_msg(self.onos_path
2aa0 2c 20 73 65 6c 66 2e 6f 6e 6f 73 5f 61 75 74 68 2c 20 27 70 75 74 27 2c 0a 20 20 20 20 20 20 20 ,.self.onos_auth,.'put',........
2ac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6e 74 69 74 79 5f 70 61 74 68 .....................entity_path
2ae0 2c 20 7b 27 6e 65 74 77 6f 72 6b 27 3a 20 72 65 73 6f 75 72 63 65 7d 29 0a 0a 20 20 20 20 40 6c ,.{'network':.resource})......@l
2b00 6f 67 5f 68 65 6c 70 65 72 73 2e 6c 6f 67 5f 6d 65 74 68 6f 64 5f 63 61 6c 6c 0a 20 20 20 20 64 og_helpers.log_method_call.....d
2b20 65 66 20 64 65 6c 65 74 65 5f 6e 65 74 77 6f 72 6b 5f 70 6f 73 74 63 6f 6d 6d 69 74 28 73 65 6c ef.delete_network_postcommit(sel
2b40 66 2c 20 63 6f 6e 74 65 78 74 29 3a 0a 20 20 20 20 20 20 20 20 65 6e 74 69 74 79 5f 70 61 74 68 f,.context):.........entity_path
2b60 20 3d 20 27 6e 65 74 77 6f 72 6b 73 2f 27 20 2b 20 63 6f 6e 74 65 78 74 2e 63 75 72 72 65 6e 74 .=.'networks/'.+.context.current
2b80 5b 27 69 64 27 5d 0a 20 20 20 20 20 20 20 20 6f 6e 6f 73 5f 75 74 69 6c 73 2e 73 65 6e 64 5f 6d ['id'].........onos_utils.send_m
2ba0 73 67 28 73 65 6c 66 2e 6f 6e 6f 73 5f 70 61 74 68 2c 20 73 65 6c 66 2e 6f 6e 6f 73 5f 61 75 74 sg(self.onos_path,.self.onos_aut
2bc0 68 2c 20 27 64 65 6c 65 74 65 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 h,.'delete',....................
2be0 20 20 20 20 20 20 20 20 20 65 6e 74 69 74 79 5f 70 61 74 68 29 0a 0a 20 20 20 20 40 6c 6f 67 5f .........entity_path)......@log_
2c00 68 65 6c 70 65 72 73 2e 6c 6f 67 5f 6d 65 74 68 6f 64 5f 63 61 6c 6c 0a 20 20 20 20 64 65 66 20 helpers.log_method_call.....def.
2c20 63 72 65 61 74 65 5f 73 75 62 6e 65 74 5f 70 6f 73 74 63 6f 6d 6d 69 74 28 73 65 6c 66 2c 20 63 create_subnet_postcommit(self,.c
2c40 6f 6e 74 65 78 74 29 3a 0a 20 20 20 20 20 20 20 20 65 6e 74 69 74 79 5f 70 61 74 68 20 3d 20 27 ontext):.........entity_path.=.'
2c60 73 75 62 6e 65 74 73 27 0a 20 20 20 20 20 20 20 20 72 65 73 6f 75 72 63 65 20 3d 20 63 6f 6e 74 subnets'.........resource.=.cont
2c80 65 78 74 2e 63 75 72 72 65 6e 74 2e 63 6f 70 79 28 29 0a 20 20 20 20 20 20 20 20 6f 6e 6f 73 5f ext.current.copy().........onos_
2ca0 75 74 69 6c 73 2e 73 65 6e 64 5f 6d 73 67 28 73 65 6c 66 2e 6f 6e 6f 73 5f 70 61 74 68 2c 20 73 utils.send_msg(self.onos_path,.s
2cc0 65 6c 66 2e 6f 6e 6f 73 5f 61 75 74 68 2c 20 27 70 6f 73 74 27 2c 0a 20 20 20 20 20 20 20 20 20 elf.onos_auth,.'post',..........
2ce0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6e 74 69 74 79 5f 70 61 74 68 2c 20 ...................entity_path,.
2d00 7b 27 73 75 62 6e 65 74 27 3a 20 72 65 73 6f 75 72 63 65 7d 29 0a 0a 20 20 20 20 40 6c 6f 67 5f {'subnet':.resource})......@log_
2d20 68 65 6c 70 65 72 73 2e 6c 6f 67 5f 6d 65 74 68 6f 64 5f 63 61 6c 6c 0a 20 20 20 20 64 65 66 20 helpers.log_method_call.....def.
2d40 75 70 64 61 74 65 5f 73 75 62 6e 65 74 5f 70 6f 73 74 63 6f 6d 6d 69 74 28 73 65 6c 66 2c 20 63 update_subnet_postcommit(self,.c
2d60 6f 6e 74 65 78 74 29 3a 0a 20 20 20 20 20 20 20 20 65 6e 74 69 74 79 5f 70 61 74 68 20 3d 20 27 ontext):.........entity_path.=.'
2d80 73 75 62 6e 65 74 73 2f 27 20 2b 20 63 6f 6e 74 65 78 74 2e 63 75 72 72 65 6e 74 5b 27 69 64 27 subnets/'.+.context.current['id'
2da0 5d 0a 20 20 20 20 20 20 20 20 72 65 73 6f 75 72 63 65 20 3d 20 63 6f 6e 74 65 78 74 2e 63 75 72 ].........resource.=.context.cur
2dc0 72 65 6e 74 2e 63 6f 70 79 28 29 0a 20 20 20 20 20 20 20 20 6f 6e 6f 73 5f 75 74 69 6c 73 2e 73 rent.copy().........onos_utils.s
2de0 65 6e 64 5f 6d 73 67 28 73 65 6c 66 2e 6f 6e 6f 73 5f 70 61 74 68 2c 20 73 65 6c 66 2e 6f 6e 6f end_msg(self.onos_path,.self.ono
2e00 73 5f 61 75 74 68 2c 20 27 70 75 74 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 s_auth,.'put',..................
2e20 20 20 20 20 20 20 20 20 20 20 20 65 6e 74 69 74 79 5f 70 61 74 68 2c 20 7b 27 73 75 62 6e 65 74 ...........entity_path,.{'subnet
2e40 27 3a 20 72 65 73 6f 75 72 63 65 7d 29 0a 0a 20 20 20 20 40 6c 6f 67 5f 68 65 6c 70 65 72 73 2e ':.resource})......@log_helpers.
2e60 6c 6f 67 5f 6d 65 74 68 6f 64 5f 63 61 6c 6c 0a 20 20 20 20 64 65 66 20 64 65 6c 65 74 65 5f 73 log_method_call.....def.delete_s
2e80 75 62 6e 65 74 5f 70 6f 73 74 63 6f 6d 6d 69 74 28 73 65 6c 66 2c 20 63 6f 6e 74 65 78 74 29 3a ubnet_postcommit(self,.context):
2ea0 0a 20 20 20 20 20 20 20 20 65 6e 74 69 74 79 5f 70 61 74 68 20 3d 20 27 73 75 62 6e 65 74 73 2f .........entity_path.=.'subnets/
2ec0 27 20 2b 20 63 6f 6e 74 65 78 74 2e 63 75 72 72 65 6e 74 5b 27 69 64 27 5d 0a 20 20 20 20 20 20 '.+.context.current['id'].......
2ee0 20 20 6f 6e 6f 73 5f 75 74 69 6c 73 2e 73 65 6e 64 5f 6d 73 67 28 73 65 6c 66 2e 6f 6e 6f 73 5f ..onos_utils.send_msg(self.onos_
2f00 70 61 74 68 2c 20 73 65 6c 66 2e 6f 6e 6f 73 5f 61 75 74 68 2c 20 27 64 65 6c 65 74 65 27 2c 0a path,.self.onos_auth,.'delete',.
2f20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6e 74 69 ............................enti
2f40 74 79 5f 70 61 74 68 29 0a 0a 20 20 20 20 40 6c 6f 67 5f 68 65 6c 70 65 72 73 2e 6c 6f 67 5f 6d ty_path)......@log_helpers.log_m
2f60 65 74 68 6f 64 5f 63 61 6c 6c 0a 20 20 20 20 64 65 66 20 63 72 65 61 74 65 5f 70 6f 72 74 5f 70 ethod_call.....def.create_port_p
2f80 6f 73 74 63 6f 6d 6d 69 74 28 73 65 6c 66 2c 20 63 6f 6e 74 65 78 74 29 3a 0a 20 20 20 20 20 20 ostcommit(self,.context):.......
2fa0 20 20 65 6e 74 69 74 79 5f 70 61 74 68 20 3d 20 27 70 6f 72 74 73 27 0a 20 20 20 20 20 20 20 20 ..entity_path.=.'ports'.........
2fc0 72 65 73 6f 75 72 63 65 20 3d 20 63 6f 6e 74 65 78 74 2e 63 75 72 72 65 6e 74 2e 63 6f 70 79 28 resource.=.context.current.copy(
2fe0 29 0a 20 20 20 20 20 20 20 20 6f 6e 6f 73 5f 75 74 69 6c 73 2e 73 65 6e 64 5f 6d 73 67 28 73 65 ).........onos_utils.send_msg(se
3000 6c 66 2e 6f 6e 6f 73 5f 70 61 74 68 2c 20 73 65 6c 66 2e 6f 6e 6f 73 5f 61 75 74 68 2c 20 27 70 lf.onos_path,.self.onos_auth,.'p
3020 6f 73 74 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ost',...........................
3040 20 20 65 6e 74 69 74 79 5f 70 61 74 68 2c 20 7b 27 70 6f 72 74 27 3a 20 72 65 73 6f 75 72 63 65 ..entity_path,.{'port':.resource
3060 7d 29 0a 0a 20 20 20 20 40 6c 6f 67 5f 68 65 6c 70 65 72 73 2e 6c 6f 67 5f 6d 65 74 68 6f 64 5f })......@log_helpers.log_method_
3080 63 61 6c 6c 0a 20 20 20 20 64 65 66 20 75 70 64 61 74 65 5f 70 6f 72 74 5f 70 6f 73 74 63 6f 6d call.....def.update_port_postcom
30a0 6d 69 74 28 73 65 6c 66 2c 20 63 6f 6e 74 65 78 74 29 3a 0a 20 20 20 20 20 20 20 20 65 6e 74 69 mit(self,.context):.........enti
30c0 74 79 5f 70 61 74 68 20 3d 20 27 70 6f 72 74 73 2f 27 20 2b 20 63 6f 6e 74 65 78 74 2e 63 75 72 ty_path.=.'ports/'.+.context.cur
30e0 72 65 6e 74 5b 27 69 64 27 5d 0a 20 20 20 20 20 20 20 20 72 65 73 6f 75 72 63 65 20 3d 20 63 6f rent['id'].........resource.=.co
3100 6e 74 65 78 74 2e 63 75 72 72 65 6e 74 2e 63 6f 70 79 28 29 0a 20 20 20 20 20 20 20 20 6f 6e 6f ntext.current.copy().........ono
3120 73 5f 75 74 69 6c 73 2e 73 65 6e 64 5f 6d 73 67 28 73 65 6c 66 2e 6f 6e 6f 73 5f 70 61 74 68 2c s_utils.send_msg(self.onos_path,
3140 20 73 65 6c 66 2e 6f 6e 6f 73 5f 61 75 74 68 2c 20 27 70 75 74 27 2c 0a 20 20 20 20 20 20 20 20 .self.onos_auth,.'put',.........
3160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6e 74 69 74 79 5f 70 61 74 68 2c ....................entity_path,
3180 20 7b 27 70 6f 72 74 27 3a 20 72 65 73 6f 75 72 63 65 7d 29 0a 0a 20 20 20 20 40 6c 6f 67 5f 68 .{'port':.resource})......@log_h
31a0 65 6c 70 65 72 73 2e 6c 6f 67 5f 6d 65 74 68 6f 64 5f 63 61 6c 6c 0a 20 20 20 20 64 65 66 20 64 elpers.log_method_call.....def.d
31c0 65 6c 65 74 65 5f 70 6f 72 74 5f 70 6f 73 74 63 6f 6d 6d 69 74 28 73 65 6c 66 2c 20 63 6f 6e 74 elete_port_postcommit(self,.cont
31e0 65 78 74 29 3a 0a 20 20 20 20 20 20 20 20 65 6e 74 69 74 79 5f 70 61 74 68 20 3d 20 27 70 6f 72 ext):.........entity_path.=.'por
3200 74 73 2f 27 20 2b 20 63 6f 6e 74 65 78 74 2e 63 75 72 72 65 6e 74 5b 27 69 64 27 5d 0a 20 20 20 ts/'.+.context.current['id']....
3220 20 20 20 20 20 6f 6e 6f 73 5f 75 74 69 6c 73 2e 73 65 6e 64 5f 6d 73 67 28 73 65 6c 66 2e 6f 6e .....onos_utils.send_msg(self.on
3240 6f 73 5f 70 61 74 68 2c 20 73 65 6c 66 2e 6f 6e 6f 73 5f 61 75 74 68 2c 20 27 64 65 6c 65 74 65 os_path,.self.onos_auth,.'delete
3260 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 ',.............................e
3280 6e 74 69 74 79 5f 70 61 74 68 29 0a 0a 20 20 20 20 40 6c 6f 67 5f 68 65 6c 70 65 72 73 2e 6c 6f ntity_path)......@log_helpers.lo
32a0 67 5f 6d 65 74 68 6f 64 5f 63 61 6c 6c 0a 20 20 20 20 64 65 66 20 62 69 6e 64 5f 70 6f 72 74 28 g_method_call.....def.bind_port(
32c0 73 65 6c 66 2c 20 63 6f 6e 74 65 78 74 29 3a 0a 20 20 20 20 20 20 20 20 22 22 22 53 65 74 20 70 self,.context):........."""Set.p
32e0 6f 72 74 20 62 69 6e 64 69 6e 67 20 64 61 74 61 20 66 6f 72 20 75 73 65 20 77 69 74 68 20 6e 6f ort.binding.data.for.use.with.no
3300 76 61 2e 22 22 22 0a 20 20 20 20 20 20 20 20 4c 4f 47 2e 64 65 62 75 67 28 22 41 74 74 65 6d 70 va.""".........LOG.debug("Attemp
3320 74 69 6e 67 20 74 6f 20 62 69 6e 64 20 70 6f 72 74 20 25 28 70 6f 72 74 29 73 20 6f 6e 20 6e 65 ting.to.bind.port.%(port)s.on.ne
3340 74 77 6f 72 6b 20 25 28 6e 65 74 77 6f 72 6b 29 73 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 twork.%(network)s",.............
3360 20 20 20 20 20 20 7b 27 70 6f 72 74 27 3a 20 63 6f 6e 74 65 78 74 2e 63 75 72 72 65 6e 74 5b 27 ......{'port':.context.current['
3380 69 64 27 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 6e 65 74 77 6f 72 id'],....................'networ
33a0 6b 27 3a 20 63 6f 6e 74 65 78 74 2e 6e 65 74 77 6f 72 6b 2e 63 75 72 72 65 6e 74 5b 27 69 64 27 k':.context.network.current['id'
33c0 5d 7d 29 0a 20 20 20 20 20 20 20 20 23 20 50 72 65 70 61 72 65 64 20 70 6f 72 74 69 6e 67 20 62 ]}).........#.Prepared.porting.b
33e0 69 6e 64 69 6e 67 20 64 61 74 61 0a 20 20 20 20 20 20 20 20 66 6f 72 20 73 65 67 6d 65 6e 74 20 inding.data.........for.segment.
3400 69 6e 20 63 6f 6e 74 65 78 74 2e 73 65 67 6d 65 6e 74 73 5f 74 6f 5f 62 69 6e 64 3a 0a 20 20 20 in.context.segments_to_bind:....
3420 20 20 20 20 20 20 20 20 20 69 66 20 73 65 6c 66 2e 63 68 65 63 6b 5f 73 65 67 6d 65 6e 74 28 73 .........if.self.check_segment(s
3440 65 67 6d 65 6e 74 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 74 65 78 74 egment):.................context
3460 2e 73 65 74 5f 62 69 6e 64 69 6e 67 28 73 65 67 6d 65 6e 74 5b 61 70 69 2e 49 44 5d 2c 0a 20 20 .set_binding(segment[api.ID],...
3480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
34a0 20 20 73 65 6c 66 2e 76 69 66 5f 74 79 70 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..self.vif_type,................
34c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 76 69 66 5f 64 65 .....................self.vif_de
34e0 74 61 69 6c 73 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tails,..........................
3500 20 20 20 20 20 20 20 20 20 20 20 73 74 61 74 75 73 3d 6e 5f 63 6f 6e 73 74 2e 50 4f 52 54 5f 53 ...........status=n_const.PORT_S
3520 54 41 54 55 53 5f 41 43 54 49 56 45 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4c 4f TATUS_ACTIVE).................LO
3540 47 2e 64 65 62 75 67 28 22 50 6f 72 74 20 62 6f 75 6e 64 20 73 75 63 63 65 73 73 66 75 6c 20 66 G.debug("Port.bound.successful.f
3560 6f 72 20 73 65 67 6d 65 6e 74 3a 20 25 73 22 2c 20 73 65 67 6d 65 6e 74 29 0a 20 20 20 20 20 20 or.segment:.%s",.segment).......
3580 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 ..........return.............els
35a0 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4c 4f 47 2e 64 65 62 75 67 28 22 50 6f e:.................LOG.debug("Po
35c0 72 74 20 62 6f 75 6e 64 20 75 6e 2d 73 75 63 63 65 73 73 66 75 6c 74 20 66 6f 72 20 73 65 67 6d rt.bound.un-successfult.for.segm
35e0 65 6e 74 20 49 44 20 25 28 69 64 29 73 2c 20 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ent.ID.%(id)s,."................
3600 20 20 20 20 20 20 20 20 20 20 20 22 73 65 67 6d 65 6e 74 20 25 28 73 65 67 29 73 2c 20 70 68 79 ..........."segment.%(seg)s,.phy
3620 73 20 6e 65 74 20 25 28 70 68 79 73 6e 65 74 29 73 2c 20 61 6e 64 20 22 0a 20 20 20 20 20 20 20 s.net.%(physnet)s,.and."........
3640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 6e 65 74 77 6f 72 6b 20 74 79 70 65 ..................."network.type
3660 20 25 28 6e 65 74 74 79 70 65 29 73 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .%(nettype)s",..................
3680 20 20 20 20 20 20 20 20 20 7b 27 69 64 27 3a 20 73 65 67 6d 65 6e 74 5b 61 70 69 2e 49 44 5d 2c .........{'id':.segment[api.ID],
36a0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 73 65 67 ............................'seg
36c0 27 3a 20 73 65 67 6d 65 6e 74 5b 61 70 69 2e 53 45 47 4d 45 4e 54 41 54 49 4f 4e 5f 49 44 5d 2c ':.segment[api.SEGMENTATION_ID],
36e0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 70 68 79 ............................'phy
3700 73 6e 65 74 27 3a 20 73 65 67 6d 65 6e 74 5b 61 70 69 2e 50 48 59 53 49 43 41 4c 5f 4e 45 54 57 snet':.segment[api.PHYSICAL_NETW
3720 4f 52 4b 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ORK],...........................
3740 20 27 6e 65 74 74 79 70 65 27 3a 20 73 65 67 6d 65 6e 74 5b 61 70 69 2e 4e 45 54 57 4f 52 4b 5f .'nettype':.segment[api.NETWORK_
3760 54 59 50 45 5d 7d 29 0a 0a 20 20 20 20 40 6c 6f 67 5f 68 65 6c 70 65 72 73 2e 6c 6f 67 5f 6d 65 TYPE]})......@log_helpers.log_me
3780 74 68 6f 64 5f 63 61 6c 6c 0a 20 20 20 20 64 65 66 20 63 68 65 63 6b 5f 73 65 67 6d 65 6e 74 28 thod_call.....def.check_segment(
37a0 73 65 6c 66 2c 20 73 65 67 6d 65 6e 74 29 3a 0a 20 20 20 20 20 20 20 20 22 22 22 43 68 65 63 6b self,.segment):........."""Check
37c0 20 77 68 65 74 68 65 72 20 73 65 67 6d 65 6e 74 20 69 73 20 76 61 6c 69 64 20 66 6f 72 20 74 68 .whether.segment.is.valid.for.th
37e0 65 20 4f 4e 4f 53 20 4d 65 63 68 61 6e 69 73 6d 44 72 69 76 65 72 2e 22 22 22 0a 0a 20 20 20 20 e.ONOS.MechanismDriver."""......
3800 20 20 20 20 72 65 74 75 72 6e 20 73 65 67 6d 65 6e 74 5b 61 70 69 2e 4e 45 54 57 4f 52 4b 5f 54 ....return.segment[api.NETWORK_T
3820 59 50 45 5d 20 69 6e 20 5b 63 6f 6e 73 74 61 6e 74 73 2e 54 59 50 45 5f 4c 4f 43 41 4c 2c 0a 20 YPE].in.[constants.TYPE_LOCAL,..
3840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3860 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 61 6e 74 73 2e 54 59 50 45 5f 47 52 45 2c 0a ............constants.TYPE_GRE,.
3880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
38a0 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 61 6e 74 73 2e 54 59 50 45 5f 56 58 4c 41 .............constants.TYPE_VXLA
38c0 4e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 N,..............................
38e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 61 6e 74 73 2e 54 59 50 45 5f 56 ................constants.TYPE_V
3900 4c 41 4e 5d 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 LAN]............................
3920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
39a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
39c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
39e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3a00 6e 65 74 77 6f 72 6b 69 6e 67 2d 6f 6e 6f 73 2f 6e 65 74 77 6f 72 6b 69 6e 67 5f 6f 6e 6f 73 2f networking-onos/networking_onos/
3a20 70 6c 75 67 69 6e 73 2f 6d 6c 32 2f 5f 5f 69 6e 69 74 5f 5f 2e 70 79 00 00 00 00 00 00 00 00 00 plugins/ml2/__init__.py.........
3a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3a60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000644.0001750.0001750.0000
3a80 30 30 30 30 30 30 30 00 31 32 36 32 37 35 31 33 34 34 32 00 30 32 32 34 34 34 00 20 30 00 00 00 0000000.12627513442.022444..0...
3aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3b00 00 75 73 74 61 72 20 20 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...onos...................
3b20 00 00 00 00 00 00 00 00 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........onos...................
3b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3c00 6e 65 74 77 6f 72 6b 69 6e 67 2d 6f 6e 6f 73 2f 6e 65 74 77 6f 72 6b 69 6e 67 5f 6f 6e 6f 73 2f networking-onos/networking_onos/
3c20 70 6c 75 67 69 6e 73 2f 6c 33 2f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 plugins/l3/.....................
3c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3c60 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000755.0001750.0001750.0000
3c80 30 30 30 30 30 30 30 00 31 32 36 32 37 35 31 33 34 34 32 00 30 32 30 31 37 31 00 20 35 00 00 00 0000000.12627513442.020171..5...
3ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3d00 00 75 73 74 61 72 20 20 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...onos...................
3d20 00 00 00 00 00 00 00 00 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........onos...................
3d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3e00 6e 65 74 77 6f 72 6b 69 6e 67 2d 6f 6e 6f 73 2f 6e 65 74 77 6f 72 6b 69 6e 67 5f 6f 6e 6f 73 2f networking-onos/networking_onos/
3e20 70 6c 75 67 69 6e 73 2f 6c 33 2f 52 45 41 44 4d 45 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 plugins/l3/README...............
3e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3e60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000644.0001750.0001750.0000
3e80 30 30 30 32 32 32 35 00 31 32 36 32 37 35 31 33 34 34 32 00 30 32 31 30 35 32 00 20 30 00 00 00 0002225.12627513442.021052..0...
3ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3f00 00 75 73 74 61 72 20 20 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...onos...................
3f20 00 00 00 00 00 00 00 00 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........onos...................
3f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4000 4f 70 65 6e 20 4e 65 74 77 6f 72 6b 69 6e 67 20 4f 70 65 72 61 74 69 6e 67 20 53 79 73 74 65 6d Open.Networking.Operating.System
4020 20 28 4f 4e 4f 53 29 20 4c 33 20 50 6c 75 67 69 6e 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d .(ONOS).L3.Plugin.==============
4040 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================================
4060 3d 3d 3d 0a 4f 4e 4f 53 20 69 73 20 61 20 63 61 72 72 69 65 72 20 67 72 61 64 65 20 53 44 4e 20 ===.ONOS.is.a.carrier.grade.SDN.
4080 6f 70 65 6e 20 6f 70 65 72 61 74 69 6e 67 20 73 79 73 74 65 6d 20 64 65 73 69 67 6e 65 64 20 66 open.operating.system.designed.f
40a0 6f 72 0a 48 69 67 68 20 41 76 61 69 6c 61 62 69 6c 69 74 79 2c 20 73 63 61 6c 65 2d 6f 75 74 20 or.High.Availability,.scale-out.
40c0 61 6e 64 20 62 65 74 74 65 72 20 70 65 72 66 6f 72 6d 61 6e 63 65 2e 0a 0a 20 20 20 20 68 74 74 and.better.performance.......htt
40e0 70 3a 2f 2f 77 77 77 2e 6f 6e 6f 73 70 72 6f 6a 65 63 74 2e 6f 72 67 2f 0a 0a 4d 6f 64 65 20 6f p://www.onosproject.org/..Mode.o
4100 66 20 57 6f 72 6b 69 6e 67 3a 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 6e 65 74 77 f.Working:.================.netw
4120 6f 72 6b 69 6e 67 2d 6f 6e 6f 73 2e 70 6c 75 67 69 6e 73 2e 6c 33 20 64 65 66 69 6e 65 20 6f 6e orking-onos.plugins.l3.define.on
4140 6f 73 20 70 6c 75 67 2d 69 6e 20 66 6f 72 20 73 75 70 70 6f 72 74 69 6e 67 20 6e 65 75 74 72 6f os.plug-in.for.supporting.neutro
4160 6e 27 73 20 72 6f 75 74 65 72 0a 66 75 6e 63 74 69 6f 6e 61 6c 69 74 79 2e 20 54 68 69 73 20 73 n's.router.functionality..This.s
4180 68 69 6d 20 6c 61 79 65 72 20 6d 61 6b 65 73 20 74 68 65 20 63 6f 6d 6d 75 6e 69 63 61 74 69 6f him.layer.makes.the.communicatio
41a0 6e 20 62 65 74 77 65 65 6e 20 4f 4e 4f 53 20 61 6e 64 0a 4f 70 65 6e 53 74 61 63 6b 20 6e 65 75 n.between.ONOS.and.OpenStack.neu
41c0 74 72 6f 6e 20 70 6f 73 73 69 62 6c 65 20 76 69 61 20 52 45 53 54 20 63 61 6c 6c 2e 0a 54 68 65 tron.possible.via.REST.call..The
41e0 20 64 72 69 76 65 72 20 63 6f 64 65 20 63 61 6e 20 62 65 20 64 6f 77 6e 6c 6f 61 64 65 64 20 66 .driver.code.can.be.downloaded.f
4200 72 6f 6d 3a 0a 0a 20 20 20 20 68 74 74 70 73 3a 2f 2f 67 69 74 2e 6f 70 65 6e 73 74 61 63 6b 2e rom:......https://git.openstack.
4220 6f 72 67 2f 63 67 69 74 2f 6f 70 65 6e 73 74 61 63 6b 2f 6e 65 74 77 6f 72 6b 69 6e 67 2d 6f 6e org/cgit/openstack/networking-on
4240 6f 73 0a 0a 55 73 69 6e 67 20 4f 4e 4f 53 20 4c 33 20 50 6c 75 67 69 6e 0a 3d 3d 3d 3d 3d 3d 3d os..Using.ONOS.L3.Plugin.=======
4260 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 54 6f 20 75 73 65 20 4f 4e 4f 53 20 4c 33 20 50 6c 75 =============.To.use.ONOS.L3.Plu
4280 67 69 6e 20 6f 6e 65 20 73 68 6f 75 6c 64 0a 31 2e 20 4d 61 6b 65 20 73 75 72 65 20 6e 65 74 77 gin.one.should.1..Make.sure.netw
42a0 6f 72 6b 69 6e 67 2d 6f 6e 6f 73 20 63 6f 64 65 20 69 73 20 64 6f 77 6e 6c 6f 61 64 65 64 20 61 orking-onos.code.is.downloaded.a
42c0 6e 64 20 69 6e 73 74 61 6c 6c 65 64 2e 20 49 66 20 64 6f 69 6e 67 0a 20 20 20 6d 61 6e 75 61 6c nd.installed..If.doing....manual
42e0 6c 79 20 74 68 65 6e 20 64 6f 77 6e 6c 6f 61 64 20 74 68 65 20 63 6f 64 65 2c 20 67 6f 20 69 6e ly.then.download.the.code,.go.in
4300 73 69 64 65 20 6e 65 74 77 6f 72 6b 69 6e 67 2d 6f 6e 6f 73 20 66 6f 6c 64 65 72 0a 20 20 20 61 side.networking-onos.folder....a
4320 6e 64 20 66 69 6e 61 6c 6c 79 20 72 75 6e 20 22 73 75 64 6f 20 70 79 74 68 6f 6e 20 73 65 74 75 nd.finally.run."sudo.python.setu
4340 70 2e 70 79 20 69 6e 73 74 61 6c 6c 22 20 6f 74 68 65 72 77 69 73 65 20 64 6f 77 6e 6c 6f 61 64 p.py.install".otherwise.download
4360 20 74 68 65 0a 20 20 20 72 65 71 75 69 72 65 64 20 70 61 63 6b 61 67 65 20 76 65 72 73 69 6f 6e .the....required.package.version
4380 20 66 72 6f 6d 20 22 68 74 74 70 73 3a 2f 2f 70 79 70 69 2e 70 79 74 68 6f 6e 2e 6f 72 67 2f 70 .from."https://pypi.python.org/p
43a0 79 70 69 2f 6e 65 74 77 6f 72 6b 69 6e 67 2d 6f 6e 6f 73 2f 22 0a 20 20 20 61 6e 64 20 69 6e 73 ypi/networking-onos/"....and.ins
43c0 74 61 6c 6c 20 75 73 69 6e 67 20 70 69 70 2e 0a 0a 32 2e 20 43 6f 6e 66 69 67 75 72 65 20 4f 4e tall.using.pip...2..Configure.ON
43e0 4f 53 20 63 72 65 64 65 6e 74 69 61 6c 73 20 69 6e 20 6e 65 74 77 6f 72 6b 69 6e 67 5f 6f 6e 6f OS.credentials.in.networking_ono
4400 73 2f 65 74 63 2f 63 6f 6e 66 5f 6f 6e 6f 73 2e 69 6e 69 2e 0a 0a 33 2e 20 53 74 61 72 74 20 6e s/etc/conf_onos.ini...3..Start.n
4420 65 75 74 72 6f 6e 20 73 65 72 76 65 72 20 6d 65 6e 74 69 6f 6e 69 6e 67 20 6e 65 74 77 6f 72 6b eutron.server.mentioning.network
4440 69 6e 67 5f 6f 6e 6f 73 2f 65 74 63 2f 63 6f 6e 66 5f 6f 6e 6f 73 2e 69 6e 69 20 61 73 0a 20 20 ing_onos/etc/conf_onos.ini.as...
4460 20 6f 6e 65 20 6f 66 20 74 68 65 20 63 6f 6e 66 69 67 2d 66 69 6c 65 20 77 69 74 68 20 4f 4e 4f .one.of.the.config-file.with.ONO
4480 53 20 4c 33 20 50 6c 75 67 69 6e 20 73 75 70 70 6f 72 74 2e 0a 00 00 00 00 00 00 00 00 00 00 00 S.L3.Plugin.support.............
44a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
44c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
44e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
45a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
45c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
45e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4600 6e 65 74 77 6f 72 6b 69 6e 67 2d 6f 6e 6f 73 2f 6e 65 74 77 6f 72 6b 69 6e 67 5f 6f 6e 6f 73 2f networking-onos/networking_onos/
4620 70 6c 75 67 69 6e 73 2f 6c 33 2f 64 72 69 76 65 72 2e 70 79 00 00 00 00 00 00 00 00 00 00 00 00 plugins/l3/driver.py............
4640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4660 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000644.0001750.0001750.0000
4680 30 30 31 32 33 35 35 00 31 32 36 32 37 35 31 33 34 34 32 00 30 32 32 30 34 34 00 20 30 00 00 00 0012355.12627513442.022044..0...
46a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
46c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
46e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4700 00 75 73 74 61 72 20 20 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...onos...................
4720 00 00 00 00 00 00 00 00 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........onos...................
4740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
47a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
47c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
47e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4800 23 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 31 35 20 48 75 61 77 65 69 20 54 65 63 68 #.Copyright.(C).2015.Huawei.Tech
4820 6e 6f 6c 6f 67 69 65 73 20 49 6e 64 69 61 20 50 76 74 20 4c 74 64 2e 0a 23 20 41 6c 6c 20 52 69 nologies.India.Pvt.Ltd..#.All.Ri
4840 67 68 74 73 20 52 65 73 65 72 76 65 64 2e 0a 23 0a 23 20 20 4c 69 63 65 6e 73 65 64 20 75 6e 64 ghts.Reserved..#.#..Licensed.und
4860 65 72 20 74 68 65 20 41 70 61 63 68 65 20 4c 69 63 65 6e 73 65 2c 20 56 65 72 73 69 6f 6e 20 32 er.the.Apache.License,.Version.2
4880 2e 30 20 28 74 68 65 20 22 4c 69 63 65 6e 73 65 22 29 3b 20 79 6f 75 20 6d 61 79 0a 23 20 20 6e .0.(the."License");.you.may.#..n
48a0 6f 74 20 75 73 65 20 74 68 69 73 20 66 69 6c 65 20 65 78 63 65 70 74 20 69 6e 20 63 6f 6d 70 6c ot.use.this.file.except.in.compl
48c0 69 61 6e 63 65 20 77 69 74 68 20 74 68 65 20 4c 69 63 65 6e 73 65 2e 20 59 6f 75 20 6d 61 79 20 iance.with.the.License..You.may.
48e0 6f 62 74 61 69 6e 0a 23 20 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 65 20 obtain.#..a.copy.of.the.License.
4900 61 74 0a 23 0a 23 20 20 20 20 20 20 20 68 74 74 70 3a 2f 2f 77 77 77 2e 61 70 61 63 68 65 2e 6f at.#.#.......http://www.apache.o
4920 72 67 2f 6c 69 63 65 6e 73 65 73 2f 4c 49 43 45 4e 53 45 2d 32 2e 30 0a 23 0a 23 20 20 55 6e 6c rg/licenses/LICENSE-2.0.#.#..Unl
4940 65 73 73 20 72 65 71 75 69 72 65 64 20 62 79 20 61 70 70 6c 69 63 61 62 6c 65 20 6c 61 77 20 6f ess.required.by.applicable.law.o
4960 72 20 61 67 72 65 65 64 20 74 6f 20 69 6e 20 77 72 69 74 69 6e 67 2c 20 73 6f 66 74 77 61 72 65 r.agreed.to.in.writing,.software
4980 0a 23 20 20 64 69 73 74 72 69 62 75 74 65 64 20 75 6e 64 65 72 20 74 68 65 20 4c 69 63 65 6e 73 .#..distributed.under.the.Licens
49a0 65 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 6f 6e 20 61 6e 20 22 41 53 20 49 53 22 20 42 e.is.distributed.on.an."AS.IS".B
49c0 41 53 49 53 2c 20 57 49 54 48 4f 55 54 0a 23 20 20 57 41 52 52 41 4e 54 49 45 53 20 4f 52 20 43 ASIS,.WITHOUT.#..WARRANTIES.OR.C
49e0 4f 4e 44 49 54 49 4f 4e 53 20 4f 46 20 41 4e 59 20 4b 49 4e 44 2c 20 65 69 74 68 65 72 20 65 78 ONDITIONS.OF.ANY.KIND,.either.ex
4a00 70 72 65 73 73 20 6f 72 20 69 6d 70 6c 69 65 64 2e 20 53 65 65 20 74 68 65 0a 23 20 20 4c 69 63 press.or.implied..See.the.#..Lic
4a20 65 6e 73 65 20 66 6f 72 20 74 68 65 20 73 70 65 63 69 66 69 63 20 6c 61 6e 67 75 61 67 65 20 67 ense.for.the.specific.language.g
4a40 6f 76 65 72 6e 69 6e 67 20 70 65 72 6d 69 73 73 69 6f 6e 73 20 61 6e 64 20 6c 69 6d 69 74 61 74 overning.permissions.and.limitat
4a60 69 6f 6e 73 0a 23 20 20 75 6e 64 65 72 20 74 68 65 20 4c 69 63 65 6e 73 65 2e 0a 23 0a 0a 66 72 ions.#..under.the.License..#..fr
4a80 6f 6d 20 6f 73 6c 6f 5f 63 6f 6e 66 69 67 20 69 6d 70 6f 72 74 20 63 66 67 0a 0a 66 72 6f 6d 20 om.oslo_config.import.cfg..from.
4aa0 6e 65 75 74 72 6f 6e 2e 61 70 69 2e 72 70 63 2e 61 67 65 6e 74 6e 6f 74 69 66 69 65 72 73 20 69 neutron.api.rpc.agentnotifiers.i
4ac0 6d 70 6f 72 74 20 6c 33 5f 72 70 63 5f 61 67 65 6e 74 5f 61 70 69 0a 66 72 6f 6d 20 6e 65 75 74 mport.l3_rpc_agent_api.from.neut
4ae0 72 6f 6e 2e 61 70 69 2e 72 70 63 2e 68 61 6e 64 6c 65 72 73 20 69 6d 70 6f 72 74 20 6c 33 5f 72 ron.api.rpc.handlers.import.l3_r
4b00 70 63 0a 66 72 6f 6d 20 6e 65 75 74 72 6f 6e 2e 63 6f 6d 6d 6f 6e 20 69 6d 70 6f 72 74 20 63 6f pc.from.neutron.common.import.co
4b20 6e 73 74 61 6e 74 73 20 61 73 20 71 5f 63 6f 6e 73 74 0a 66 72 6f 6d 20 6e 65 75 74 72 6f 6e 2e nstants.as.q_const.from.neutron.
4b40 63 6f 6d 6d 6f 6e 20 69 6d 70 6f 72 74 20 72 70 63 20 61 73 20 6e 5f 72 70 63 0a 66 72 6f 6d 20 common.import.rpc.as.n_rpc.from.
4b60 6e 65 75 74 72 6f 6e 2e 63 6f 6d 6d 6f 6e 20 69 6d 70 6f 72 74 20 74 6f 70 69 63 73 0a 66 72 6f neutron.common.import.topics.fro
4b80 6d 20 6e 65 75 74 72 6f 6e 2e 64 62 20 69 6d 70 6f 72 74 20 64 62 5f 62 61 73 65 5f 70 6c 75 67 m.neutron.db.import.db_base_plug
4ba0 69 6e 5f 76 32 0a 66 72 6f 6d 20 6e 65 75 74 72 6f 6e 2e 64 62 20 69 6d 70 6f 72 74 20 65 78 74 in_v2.from.neutron.db.import.ext
4bc0 72 61 72 6f 75 74 65 5f 64 62 0a 66 72 6f 6d 20 6e 65 75 74 72 6f 6e 2e 64 62 20 69 6d 70 6f 72 raroute_db.from.neutron.db.impor
4be0 74 20 6c 33 5f 61 67 65 6e 74 73 63 68 65 64 75 6c 65 72 73 5f 64 62 0a 66 72 6f 6d 20 6e 65 75 t.l3_agentschedulers_db.from.neu
4c00 74 72 6f 6e 2e 64 62 20 69 6d 70 6f 72 74 20 6c 33 5f 67 77 6d 6f 64 65 5f 64 62 0a 66 72 6f 6d tron.db.import.l3_gwmode_db.from
4c20 20 6e 65 75 74 72 6f 6e 2e 70 6c 75 67 69 6e 73 2e 63 6f 6d 6d 6f 6e 20 69 6d 70 6f 72 74 20 63 .neutron.plugins.common.import.c
4c40 6f 6e 73 74 61 6e 74 73 0a 0a 66 72 6f 6d 20 6e 65 74 77 6f 72 6b 69 6e 67 5f 6f 6e 6f 73 2e 63 onstants..from.networking_onos.c
4c60 6f 6d 6d 6f 6e 20 69 6d 70 6f 72 74 20 63 6f 6e 66 69 67 20 20 20 23 20 6e 6f 71 61 0a 66 72 6f ommon.import.config...#.noqa.fro
4c80 6d 20 6e 65 74 77 6f 72 6b 69 6e 67 5f 6f 6e 6f 73 2e 70 6c 75 67 69 6e 73 2e 6c 33 20 69 6d 70 m.networking_onos.plugins.l3.imp
4ca0 6f 72 74 20 66 6c 6f 61 74 69 6e 67 5f 69 70 20 61 73 20 6f 6e 6f 73 5f 66 69 70 0a 66 72 6f 6d ort.floating_ip.as.onos_fip.from
4cc0 20 6e 65 74 77 6f 72 6b 69 6e 67 5f 6f 6e 6f 73 2e 70 6c 75 67 69 6e 73 2e 6c 33 20 69 6d 70 6f .networking_onos.plugins.l3.impo
4ce0 72 74 20 72 6f 75 74 65 72 20 61 73 20 6f 6e 6f 73 5f 72 6f 75 74 65 72 0a 0a 0a 63 6c 61 73 73 rt.router.as.onos_router...class
4d00 20 4f 4e 4f 53 4c 33 50 6c 75 67 69 6e 28 64 62 5f 62 61 73 65 5f 70 6c 75 67 69 6e 5f 76 32 2e .ONOSL3Plugin(db_base_plugin_v2.
4d20 4e 65 75 74 72 6f 6e 44 62 50 6c 75 67 69 6e 56 32 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 NeutronDbPluginV2,..............
4d40 20 20 20 20 20 20 65 78 74 72 61 72 6f 75 74 65 5f 64 62 2e 45 78 74 72 61 52 6f 75 74 65 5f 64 ......extraroute_db.ExtraRoute_d
4d60 62 5f 6d 69 78 69 6e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6c 33 5f 67 b_mixin,....................l3_g
4d80 77 6d 6f 64 65 5f 64 62 2e 4c 33 5f 4e 41 54 5f 64 62 5f 6d 69 78 69 6e 2c 0a 20 20 20 20 20 20 wmode_db.L3_NAT_db_mixin,.......
4da0 20 20 20 20 20 20 20 20 20 20 20 20 20 6c 33 5f 61 67 65 6e 74 73 63 68 65 64 75 6c 65 72 73 5f .............l3_agentschedulers_
4dc0 64 62 2e 4c 33 41 67 65 6e 74 53 63 68 65 64 75 6c 65 72 44 62 4d 69 78 69 6e 2c 0a 20 20 20 20 db.L3AgentSchedulerDbMixin,.....
4de0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6f 6e 6f 73 5f 72 6f 75 74 65 72 2e 4f 4e 4f 53 52 ...............onos_router.ONOSR
4e00 6f 75 74 65 72 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6f 6e 6f 73 5f 66 outer,....................onos_f
4e20 69 70 2e 4f 4e 4f 53 46 6c 6f 61 74 69 6e 67 49 50 29 3a 0a 0a 20 20 20 20 22 22 22 49 6d 70 6c ip.ONOSFloatingIP):......"""Impl
4e40 65 6d 65 6e 74 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 4f 4e 4f 53 20 4c 33 20 52 6f 75 74 65 72 ementation.of.the.ONOS.L3.Router
4e60 20 53 65 72 76 69 63 65 20 50 6c 75 67 69 6e 2e 0a 0a 20 20 20 20 54 68 69 73 20 63 6c 61 73 73 .Service.Plugin.......This.class
4e80 20 69 6d 70 6c 65 6d 65 6e 74 73 20 61 20 4c 33 20 73 65 72 76 69 63 65 20 70 6c 75 67 69 6e 20 .implements.a.L3.service.plugin.
4ea0 74 68 61 74 20 70 72 6f 76 69 64 65 73 0a 20 20 20 20 72 6f 75 74 65 72 20 61 6e 64 20 66 6c 6f that.provides.....router.and.flo
4ec0 61 74 69 6e 67 69 70 20 72 65 73 6f 75 72 63 65 73 20 61 6e 64 20 6d 61 6e 61 67 65 73 20 61 73 atingip.resources.and.manages.as
4ee0 73 6f 63 69 61 74 65 64 0a 20 20 20 20 72 65 71 75 65 73 74 2f 72 65 73 70 6f 6e 73 65 2e 0a 20 sociated.....request/response...
4f00 20 20 20 22 22 22 0a 20 20 20 20 73 75 70 70 6f 72 74 65 64 5f 65 78 74 65 6e 73 69 6f 6e 5f 61 ...""".....supported_extension_a
4f20 6c 69 61 73 65 73 20 3d 20 5b 22 72 6f 75 74 65 72 22 2c 20 22 65 78 74 2d 67 77 2d 6d 6f 64 65 liases.=.["router",."ext-gw-mode
4f40 22 2c 20 22 65 78 74 72 61 72 6f 75 74 65 22 5d 0a 0a 20 20 20 20 64 65 66 20 5f 5f 69 6e 69 74 ",."extraroute"]......def.__init
4f60 5f 5f 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 73 65 74 75 70 5f 72 70 63 __(self):.........self.setup_rpc
4f80 28 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 6f 6e 6f 73 5f 70 61 74 68 20 3d 20 63 66 67 2e ().........self.onos_path.=.cfg.
4fa0 43 4f 4e 46 2e 6f 6e 6f 73 2e 75 72 6c 5f 70 61 74 68 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e CONF.onos.url_path.........self.
4fc0 6f 6e 6f 73 5f 61 75 74 68 20 3d 20 28 63 66 67 2e 43 4f 4e 46 2e 6f 6e 6f 73 2e 75 73 65 72 6e onos_auth.=.(cfg.CONF.onos.usern
4fe0 61 6d 65 2c 20 63 66 67 2e 43 4f 4e 46 2e 6f 6e 6f 73 2e 70 61 73 73 77 6f 72 64 29 0a 0a 20 20 ame,.cfg.CONF.onos.password)....
5000 20 20 64 65 66 20 73 65 74 75 70 5f 72 70 63 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 73 ..def.setup_rpc(self):.........s
5020 65 6c 66 2e 74 6f 70 69 63 20 3d 20 74 6f 70 69 63 73 2e 4c 33 50 4c 55 47 49 4e 0a 20 20 20 20 elf.topic.=.topics.L3PLUGIN.....
5040 20 20 20 20 73 65 6c 66 2e 63 6f 6e 6e 20 3d 20 6e 5f 72 70 63 2e 63 72 65 61 74 65 5f 63 6f 6e ....self.conn.=.n_rpc.create_con
5060 6e 65 63 74 69 6f 6e 28 6e 65 77 3d 54 72 75 65 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 nection(new=True).........self.a
5080 67 65 6e 74 5f 6e 6f 74 69 66 69 65 72 73 2e 75 70 64 61 74 65 28 0a 20 20 20 20 20 20 20 20 20 gent_notifiers.update(..........
50a0 20 20 20 7b 71 5f 63 6f 6e 73 74 2e 41 47 45 4e 54 5f 54 59 50 45 5f 4c 33 3a 20 6c 33 5f 72 70 ...{q_const.AGENT_TYPE_L3:.l3_rp
50c0 63 5f 61 67 65 6e 74 5f 61 70 69 2e 4c 33 41 67 65 6e 74 4e 6f 74 69 66 79 41 50 49 28 29 7d 29 c_agent_api.L3AgentNotifyAPI()})
50e0 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 65 6e 64 70 6f 69 6e 74 73 20 3d 20 5b 6c 33 5f 72 70 .........self.endpoints.=.[l3_rp
5100 63 2e 4c 33 52 70 63 43 61 6c 6c 62 61 63 6b 28 29 5d 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e c.L3RpcCallback()].........self.
5120 63 6f 6e 6e 2e 63 72 65 61 74 65 5f 63 6f 6e 73 75 6d 65 72 28 73 65 6c 66 2e 74 6f 70 69 63 2c conn.create_consumer(self.topic,
5140 20 73 65 6c 66 2e 65 6e 64 70 6f 69 6e 74 73 2c 20 66 61 6e 6f 75 74 3d 46 61 6c 73 65 29 0a 20 .self.endpoints,.fanout=False)..
5160 20 20 20 20 20 20 20 73 65 6c 66 2e 63 6f 6e 6e 2e 63 6f 6e 73 75 6d 65 5f 69 6e 5f 74 68 72 65 .......self.conn.consume_in_thre
5180 61 64 73 28 29 0a 0a 20 20 20 20 64 65 66 20 67 65 74 5f 70 6c 75 67 69 6e 5f 74 79 70 65 28 73 ads()......def.get_plugin_type(s
51a0 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 63 6f 6e 73 74 61 6e 74 73 2e 4c elf):.........return.constants.L
51c0 33 5f 52 4f 55 54 45 52 5f 4e 41 54 0a 0a 20 20 20 20 64 65 66 20 67 65 74 5f 70 6c 75 67 69 6e 3_ROUTER_NAT......def.get_plugin
51e0 5f 64 65 73 63 72 69 70 74 69 6f 6e 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 22 22 22 72 _description(self):........."""r
5200 65 74 75 72 6e 73 20 70 6c 75 67 2d 69 6e 20 64 65 73 63 72 69 70 74 69 6f 6e 22 22 22 0a 20 20 eturns.plug-in.description"""...
5220 20 20 20 20 20 20 72 65 74 75 72 6e 20 28 22 4c 33 20 52 6f 75 74 65 72 20 53 65 72 76 69 63 65 ......return.("L3.Router.Service
5240 20 50 6c 75 67 2d 69 6e 20 66 6f 72 20 62 61 73 69 63 20 4c 33 20 66 6f 72 77 61 72 64 69 6e 67 .Plug-in.for.basic.L3.forwarding
5260 20 75 73 69 6e 67 20 4f 4e 4f 53 22 29 0a 0a 20 20 20 20 64 65 66 20 63 72 65 61 74 65 5f 72 6f .using.ONOS")......def.create_ro
5280 75 74 65 72 28 73 65 6c 66 2c 20 63 6f 6e 74 65 78 74 2c 20 72 6f 75 74 65 72 29 3a 0a 20 20 20 uter(self,.context,.router):....
52a0 20 20 20 20 20 72 6f 75 74 65 72 5f 64 69 63 74 20 3d 20 73 75 70 65 72 28 4f 4e 4f 53 4c 33 50 .....router_dict.=.super(ONOSL3P
52c0 6c 75 67 69 6e 2c 20 73 65 6c 66 29 2e 63 72 65 61 74 65 5f 72 6f 75 74 65 72 28 63 6f 6e 74 65 lugin,.self).create_router(conte
52e0 78 74 2c 20 72 6f 75 74 65 72 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 68 61 6e 64 6c 65 5f xt,.router).........self.handle_
5300 63 72 65 61 74 65 5f 72 6f 75 74 65 72 28 72 6f 75 74 65 72 5f 64 69 63 74 29 0a 20 20 20 20 20 create_router(router_dict)......
5320 20 20 20 72 65 74 75 72 6e 20 72 6f 75 74 65 72 5f 64 69 63 74 0a 0a 20 20 20 20 64 65 66 20 75 ...return.router_dict......def.u
5340 70 64 61 74 65 5f 72 6f 75 74 65 72 28 73 65 6c 66 2c 20 63 6f 6e 74 65 78 74 2c 20 69 64 2c 20 pdate_router(self,.context,.id,.
5360 72 6f 75 74 65 72 29 3a 0a 20 20 20 20 20 20 20 20 72 6f 75 74 65 72 5f 64 69 63 74 20 3d 20 73 router):.........router_dict.=.s
5380 75 70 65 72 28 4f 4e 4f 53 4c 33 50 6c 75 67 69 6e 2c 20 73 65 6c 66 29 2e 75 70 64 61 74 65 5f uper(ONOSL3Plugin,.self).update_
53a0 72 6f 75 74 65 72 28 63 6f 6e 74 65 78 74 2c 20 69 64 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 router(context,.id,.............
53c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
53e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 6f 75 74 65 72 29 0a 20 20 20 20 20 20 ..................router).......
5400 20 20 73 65 6c 66 2e 68 61 6e 64 6c 65 5f 75 70 64 61 74 65 5f 72 6f 75 74 65 72 28 72 6f 75 74 ..self.handle_update_router(rout
5420 65 72 5f 64 69 63 74 2c 20 69 64 29 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 72 6f 75 74 er_dict,.id).........return.rout
5440 65 72 5f 64 69 63 74 0a 0a 20 20 20 20 64 65 66 20 64 65 6c 65 74 65 5f 72 6f 75 74 65 72 28 73 er_dict......def.delete_router(s
5460 65 6c 66 2c 20 63 6f 6e 74 65 78 74 2c 20 69 64 29 3a 0a 20 20 20 20 20 20 20 20 73 75 70 65 72 elf,.context,.id):.........super
5480 28 4f 4e 4f 53 4c 33 50 6c 75 67 69 6e 2c 20 73 65 6c 66 29 2e 64 65 6c 65 74 65 5f 72 6f 75 74 (ONOSL3Plugin,.self).delete_rout
54a0 65 72 28 63 6f 6e 74 65 78 74 2c 20 69 64 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 68 61 6e er(context,.id).........self.han
54c0 64 6c 65 5f 64 65 6c 65 74 65 5f 72 6f 75 74 65 72 28 69 64 29 0a 0a 20 20 20 20 64 65 66 20 63 dle_delete_router(id)......def.c
54e0 72 65 61 74 65 5f 66 6c 6f 61 74 69 6e 67 69 70 28 73 65 6c 66 2c 20 63 6f 6e 74 65 78 74 2c 20 reate_floatingip(self,.context,.
5500 66 6c 6f 61 74 69 6e 67 69 70 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 floatingip,.....................
5520 20 20 20 20 20 20 69 6e 69 74 69 61 6c 5f 73 74 61 74 75 73 3d 71 5f 63 6f 6e 73 74 2e 46 4c 4f ......initial_status=q_const.FLO
5540 41 54 49 4e 47 49 50 5f 53 54 41 54 55 53 5f 41 43 54 49 56 45 29 3a 0a 20 20 20 20 20 20 20 20 ATINGIP_STATUS_ACTIVE):.........
5560 66 69 70 5f 64 69 63 74 20 3d 20 73 75 70 65 72 28 4f 4e 4f 53 4c 33 50 6c 75 67 69 6e 2c 20 73 fip_dict.=.super(ONOSL3Plugin,.s
5580 65 6c 66 29 2e 63 72 65 61 74 65 5f 66 6c 6f 61 74 69 6e 67 69 70 28 63 6f 6e 74 65 78 74 2c 0a elf).create_floatingip(context,.
55a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
55c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 ...............................f
55e0 6c 6f 61 74 69 6e 67 69 70 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 loatingip,......................
5600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5620 20 20 20 20 20 20 20 20 20 20 69 6e 69 74 69 61 6c 5f 73 74 61 74 75 73 29 0a 20 20 20 20 20 20 ..........initial_status).......
5640 20 20 73 65 6c 66 2e 68 61 6e 64 6c 65 5f 63 72 65 61 74 65 5f 66 6c 6f 61 74 69 6e 67 69 70 28 ..self.handle_create_floatingip(
5660 66 69 70 5f 64 69 63 74 29 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 69 70 5f 64 69 63 fip_dict).........return.fip_dic
5680 74 0a 0a 20 20 20 20 64 65 66 20 75 70 64 61 74 65 5f 66 6c 6f 61 74 69 6e 67 69 70 28 73 65 6c t......def.update_floatingip(sel
56a0 66 2c 20 63 6f 6e 74 65 78 74 2c 20 69 64 2c 20 66 6c 6f 61 74 69 6e 67 69 70 29 3a 0a 20 20 20 f,.context,.id,.floatingip):....
56c0 20 20 20 20 20 66 69 70 5f 64 69 63 74 20 3d 20 73 75 70 65 72 28 4f 4e 4f 53 4c 33 50 6c 75 67 .....fip_dict.=.super(ONOSL3Plug
56e0 69 6e 2c 20 73 65 6c 66 29 2e 75 70 64 61 74 65 5f 66 6c 6f 61 74 69 6e 67 69 70 28 63 6f 6e 74 in,.self).update_floatingip(cont
5700 65 78 74 2c 20 69 64 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ext,.id,........................
5720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5740 20 20 20 20 20 20 20 20 66 6c 6f 61 74 69 6e 67 69 70 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 ........floatingip).........self
5760 2e 68 61 6e 64 6c 65 5f 75 70 64 61 74 65 5f 66 6c 6f 61 74 69 6e 67 69 70 28 69 64 2c 20 66 69 .handle_update_floatingip(id,.fi
5780 70 5f 64 69 63 74 29 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 69 70 5f 64 69 63 74 0a p_dict).........return.fip_dict.
57a0 0a 20 20 20 20 64 65 66 20 64 65 6c 65 74 65 5f 66 6c 6f 61 74 69 6e 67 69 70 28 73 65 6c 66 2c .....def.delete_floatingip(self,
57c0 20 63 6f 6e 74 65 78 74 2c 20 69 64 29 3a 0a 20 20 20 20 20 20 20 20 73 75 70 65 72 28 4f 4e 4f .context,.id):.........super(ONO
57e0 53 4c 33 50 6c 75 67 69 6e 2c 20 73 65 6c 66 29 2e 64 65 6c 65 74 65 5f 66 6c 6f 61 74 69 6e 67 SL3Plugin,.self).delete_floating
5800 69 70 28 63 6f 6e 74 65 78 74 2c 20 69 64 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 68 61 6e ip(context,.id).........self.han
5820 64 6c 65 5f 64 65 6c 65 74 65 5f 66 6c 6f 61 74 69 6e 67 69 70 28 69 64 29 0a 0a 20 20 20 20 64 dle_delete_floatingip(id)......d
5840 65 66 20 61 64 64 5f 72 6f 75 74 65 72 5f 69 6e 74 65 72 66 61 63 65 28 73 65 6c 66 2c 20 63 6f ef.add_router_interface(self,.co
5860 6e 74 65 78 74 2c 20 72 6f 75 74 65 72 5f 69 64 2c 20 69 6e 74 65 72 66 61 63 65 5f 69 6e 66 6f ntext,.router_id,.interface_info
5880 29 3a 0a 20 20 20 20 20 20 20 20 72 6f 75 74 65 72 20 3d 20 73 75 70 65 72 28 4f 4e 4f 53 4c 33 ):.........router.=.super(ONOSL3
58a0 50 6c 75 67 69 6e 2c 20 73 65 6c 66 29 2e 61 64 64 5f 72 6f 75 74 65 72 5f 69 6e 74 65 72 66 61 Plugin,.self).add_router_interfa
58c0 63 65 28 63 6f 6e 74 65 78 74 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ce(context,.....................
58e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5900 20 20 20 20 20 20 20 20 20 20 20 20 72 6f 75 74 65 72 5f 69 64 2c 0a 20 20 20 20 20 20 20 20 20 ............router_id,..........
5920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 65 72 66 61 63 65 .......................interface
5960 5f 69 6e 66 6f 29 0a 20 20 20 20 20 20 20 20 69 6e 74 66 5f 61 64 64 5f 74 79 70 65 20 3d 20 73 _info).........intf_add_type.=.s
5980 65 6c 66 2e 5f 67 65 74 5f 69 6e 74 66 5f 61 64 64 5f 74 79 70 65 28 72 6f 75 74 65 72 2c 20 69 elf._get_intf_add_type(router,.i
59a0 6e 74 65 72 66 61 63 65 5f 69 6e 66 6f 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 68 61 6e 64 nterface_info).........self.hand
59c0 6c 65 5f 61 64 64 5f 72 6f 75 74 65 72 5f 69 6e 74 65 72 66 61 63 65 28 72 6f 75 74 65 72 2c 20 le_add_router_interface(router,.
59e0 72 6f 75 74 65 72 5f 69 64 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 router_id,......................
5a00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 65 72 66 61 63 65 5f 69 6e ....................interface_in
5a20 66 6f 2c 20 69 6e 74 66 5f 61 64 64 5f 74 79 70 65 29 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 fo,.intf_add_type).........retur
5a40 6e 20 72 6f 75 74 65 72 0a 0a 20 20 20 20 64 65 66 20 72 65 6d 6f 76 65 5f 72 6f 75 74 65 72 5f n.router......def.remove_router_
5a60 69 6e 74 65 72 66 61 63 65 28 73 65 6c 66 2c 20 63 6f 6e 74 65 78 74 2c 20 72 6f 75 74 65 72 5f interface(self,.context,.router_
5a80 69 64 2c 20 69 6e 74 65 72 66 61 63 65 5f 69 6e 66 6f 29 3a 0a 20 20 20 20 20 20 20 20 72 6f 75 id,.interface_info):.........rou
5aa0 74 65 72 20 3d 20 73 75 70 65 72 28 4f 4e 4f 53 4c 33 50 6c 75 67 69 6e 2c 20 73 65 6c 66 29 2e ter.=.super(ONOSL3Plugin,.self).
5ac0 72 65 6d 6f 76 65 5f 72 6f 75 74 65 72 5f 69 6e 74 65 72 66 61 63 65 28 0a 20 20 20 20 20 20 20 remove_router_interface(........
5ae0 20 20 20 20 20 63 6f 6e 74 65 78 74 2c 20 72 6f 75 74 65 72 5f 69 64 2c 20 69 6e 74 65 72 66 61 .....context,.router_id,.interfa
5b00 63 65 5f 69 6e 66 6f 29 0a 20 20 20 20 20 20 20 20 69 6e 74 66 5f 61 64 64 5f 74 79 70 65 20 3d ce_info).........intf_add_type.=
5b20 20 73 65 6c 66 2e 5f 67 65 74 5f 69 6e 74 66 5f 61 64 64 5f 74 79 70 65 28 72 6f 75 74 65 72 2c .self._get_intf_add_type(router,
5b40 20 69 6e 74 65 72 66 61 63 65 5f 69 6e 66 6f 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 68 61 .interface_info).........self.ha
5b60 6e 64 6c 65 5f 72 65 6d 6f 76 65 5f 72 6f 75 74 65 72 5f 69 6e 74 65 72 66 61 63 65 28 72 6f 75 ndle_remove_router_interface(rou
5b80 74 65 72 2c 20 72 6f 75 74 65 72 5f 69 64 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ter,.router_id,.................
5ba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 65 ............................inte
5bc0 72 66 61 63 65 5f 69 6e 66 6f 2c 20 69 6e 74 66 5f 61 64 64 5f 74 79 70 65 29 0a 20 20 20 20 20 rface_info,.intf_add_type)......
5be0 20 20 20 72 65 74 75 72 6e 20 72 6f 75 74 65 72 0a 0a 20 20 20 20 64 65 66 20 5f 67 65 74 5f 69 ...return.router......def._get_i
5c00 6e 74 66 5f 61 64 64 5f 74 79 70 65 28 73 65 6c 66 2c 20 72 6f 75 74 65 72 5f 69 6e 66 6f 2c 20 ntf_add_type(self,.router_info,.
5c20 69 6e 74 66 5f 69 6e 66 6f 29 3a 0a 20 20 20 20 20 20 20 20 61 64 64 5f 62 79 5f 70 6f 72 74 2c intf_info):.........add_by_port,
5c40 20 61 64 64 5f 62 79 5f 73 75 62 20 3d 20 73 65 6c 66 2e 5f 76 61 6c 69 64 61 74 65 5f 69 6e 74 .add_by_sub.=.self._validate_int
5c60 65 72 66 61 63 65 5f 69 6e 66 6f 28 69 6e 74 66 5f 69 6e 66 6f 29 0a 20 20 20 20 20 20 20 20 69 erface_info(intf_info).........i
5c80 66 20 61 64 64 5f 62 79 5f 73 75 62 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e f.add_by_sub:.............return
5ca0 20 6f 6e 6f 73 5f 72 6f 75 74 65 72 2e 41 44 44 5f 49 4e 54 46 5f 42 59 5f 53 55 42 4e 45 54 0a .onos_router.ADD_INTF_BY_SUBNET.
5cc0 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6f 6e 6f 73 5f 72 6f 75 74 65 72 2e 41 44 44 5f .........return.onos_router.ADD_
5ce0 49 4e 54 46 5f 42 59 5f 50 4f 52 54 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 INTF_BY_PORT....................
5d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5e00 6e 65 74 77 6f 72 6b 69 6e 67 2d 6f 6e 6f 73 2f 6e 65 74 77 6f 72 6b 69 6e 67 5f 6f 6e 6f 73 2f networking-onos/networking_onos/
5e20 70 6c 75 67 69 6e 73 2f 6c 33 2f 5f 5f 69 6e 69 74 5f 5f 2e 70 79 00 00 00 00 00 00 00 00 00 00 plugins/l3/__init__.py..........
5e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5e60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000644.0001750.0001750.0000
5e80 30 30 30 30 30 30 30 00 31 32 36 32 37 35 31 33 34 34 32 00 30 32 32 32 37 30 00 20 30 00 00 00 0000000.12627513442.022270..0...
5ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5f00 00 75 73 74 61 72 20 20 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...onos...................
5f20 00 00 00 00 00 00 00 00 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........onos...................
5f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6000 6e 65 74 77 6f 72 6b 69 6e 67 2d 6f 6e 6f 73 2f 6e 65 74 77 6f 72 6b 69 6e 67 5f 6f 6e 6f 73 2f networking-onos/networking_onos/
6020 70 6c 75 67 69 6e 73 2f 6c 33 2f 66 6c 6f 61 74 69 6e 67 5f 69 70 2e 70 79 00 00 00 00 00 00 00 plugins/l3/floating_ip.py.......
6040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6060 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000644.0001750.0001750.0000
6080 30 30 30 33 30 30 31 00 31 32 36 32 37 35 31 33 34 34 32 00 30 32 33 30 33 30 00 20 30 00 00 00 0003001.12627513442.023030..0...
60a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
60c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
60e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6100 00 75 73 74 61 72 20 20 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...onos...................
6120 00 00 00 00 00 00 00 00 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........onos...................
6140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
61a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
61c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
61e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6200 23 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 31 35 20 48 75 61 77 65 69 20 54 65 63 68 #.Copyright.(C).2015.Huawei.Tech
6220 6e 6f 6c 6f 67 69 65 73 20 49 6e 64 69 61 20 50 76 74 20 4c 74 64 2e 0a 23 0a 23 20 20 4c 69 63 nologies.India.Pvt.Ltd..#.#..Lic
6240 65 6e 73 65 64 20 75 6e 64 65 72 20 74 68 65 20 41 70 61 63 68 65 20 4c 69 63 65 6e 73 65 2c 20 ensed.under.the.Apache.License,.
6260 56 65 72 73 69 6f 6e 20 32 2e 30 20 28 74 68 65 20 22 4c 69 63 65 6e 73 65 22 29 3b 20 79 6f 75 Version.2.0.(the."License");.you
6280 20 6d 61 79 0a 23 20 20 6e 6f 74 20 75 73 65 20 74 68 69 73 20 66 69 6c 65 20 65 78 63 65 70 74 .may.#..not.use.this.file.except
62a0 20 69 6e 20 63 6f 6d 70 6c 69 61 6e 63 65 20 77 69 74 68 20 74 68 65 20 4c 69 63 65 6e 73 65 2e .in.compliance.with.the.License.
62c0 20 59 6f 75 20 6d 61 79 20 6f 62 74 61 69 6e 0a 23 20 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 .You.may.obtain.#..a.copy.of.the
62e0 20 4c 69 63 65 6e 73 65 20 61 74 0a 23 0a 23 20 20 20 20 20 20 20 68 74 74 70 3a 2f 2f 77 77 77 .License.at.#.#.......http://www
6300 2e 61 70 61 63 68 65 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 4c 49 43 45 4e 53 45 2d 32 2e 30 .apache.org/licenses/LICENSE-2.0
6320 0a 23 0a 23 20 20 55 6e 6c 65 73 73 20 72 65 71 75 69 72 65 64 20 62 79 20 61 70 70 6c 69 63 61 .#.#..Unless.required.by.applica
6340 62 6c 65 20 6c 61 77 20 6f 72 20 61 67 72 65 65 64 20 74 6f 20 69 6e 20 77 72 69 74 69 6e 67 2c ble.law.or.agreed.to.in.writing,
6360 20 73 6f 66 74 77 61 72 65 0a 23 20 20 64 69 73 74 72 69 62 75 74 65 64 20 75 6e 64 65 72 20 74 .software.#..distributed.under.t
6380 68 65 20 4c 69 63 65 6e 73 65 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 6f 6e 20 61 6e 20 he.License.is.distributed.on.an.
63a0 22 41 53 20 49 53 22 20 42 41 53 49 53 2c 20 57 49 54 48 4f 55 54 0a 23 20 20 57 41 52 52 41 4e "AS.IS".BASIS,.WITHOUT.#..WARRAN
63c0 54 49 45 53 20 4f 52 20 43 4f 4e 44 49 54 49 4f 4e 53 20 4f 46 20 41 4e 59 20 4b 49 4e 44 2c 20 TIES.OR.CONDITIONS.OF.ANY.KIND,.
63e0 65 69 74 68 65 72 20 65 78 70 72 65 73 73 20 6f 72 20 69 6d 70 6c 69 65 64 2e 20 53 65 65 20 74 either.express.or.implied..See.t
6400 68 65 0a 23 20 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 74 68 65 20 73 70 65 63 69 66 69 63 20 6c he.#..License.for.the.specific.l
6420 61 6e 67 75 61 67 65 20 67 6f 76 65 72 6e 69 6e 67 20 70 65 72 6d 69 73 73 69 6f 6e 73 20 61 6e anguage.governing.permissions.an
6440 64 20 6c 69 6d 69 74 61 74 69 6f 6e 73 0a 23 20 20 75 6e 64 65 72 20 74 68 65 20 4c 69 63 65 6e d.limitations.#..under.the.Licen
6460 73 65 2e 0a 23 0a 0a 66 72 6f 6d 20 6e 65 74 77 6f 72 6b 69 6e 67 5f 6f 6e 6f 73 2e 63 6f 6d 6d se..#..from.networking_onos.comm
6480 6f 6e 20 69 6d 70 6f 72 74 20 75 74 69 6c 73 20 61 73 20 6f 6e 6f 73 5f 75 74 69 6c 73 0a 0a 0a on.import.utils.as.onos_utils...
64a0 63 6c 61 73 73 20 4f 4e 4f 53 46 6c 6f 61 74 69 6e 67 49 50 28 6f 62 6a 65 63 74 29 3a 0a 0a 20 class.ONOSFloatingIP(object):...
64c0 20 20 20 22 22 22 49 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 6f 66 20 4f 4e 4f 53 20 4c 33 20 ..."""Implementation.of.ONOS.L3.
64e0 46 6c 6f 61 74 69 6e 67 20 49 50 20 53 65 72 76 69 63 65 2e 0a 0a 20 20 20 20 54 68 69 73 20 63 Floating.IP.Service.......This.c
6500 6c 61 73 73 20 73 65 6e 64 73 20 4e 65 75 74 72 6f 6e 27 73 20 4c 33 20 46 6c 6f 61 74 69 6e 67 lass.sends.Neutron's.L3.Floating
6520 20 49 50 20 6d 65 73 73 61 67 65 73 20 74 6f 20 4f 4e 4f 53 2e 0a 20 20 20 20 22 22 22 0a 20 20 .IP.messages.to.ONOS......"""...
6540 20 20 64 65 66 20 73 65 6e 64 5f 66 6c 6f 61 74 69 6e 67 69 70 5f 6d 73 67 28 73 65 6c 66 2c 20 ..def.send_floatingip_msg(self,.
6560 6d 73 67 5f 74 79 70 65 2c 20 65 6e 74 69 74 79 5f 70 61 74 68 2c 20 65 6e 74 69 74 79 29 3a 0a msg_type,.entity_path,.entity):.
6580 20 20 20 20 20 20 20 20 6f 6e 6f 73 5f 75 74 69 6c 73 2e 73 65 6e 64 5f 6d 73 67 28 73 65 6c 66 ........onos_utils.send_msg(self
65a0 2e 6f 6e 6f 73 5f 70 61 74 68 2c 20 73 65 6c 66 2e 6f 6e 6f 73 5f 61 75 74 68 2c 0a 20 20 20 20 .onos_path,.self.onos_auth,.....
65c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 73 67 5f 74 79 70 65 ........................msg_type
65e0 2c 20 65 6e 74 69 74 79 5f 70 61 74 68 2c 20 65 6e 74 69 74 79 29 0a 0a 20 20 20 20 64 65 66 20 ,.entity_path,.entity)......def.
6600 68 61 6e 64 6c 65 5f 63 72 65 61 74 65 5f 66 6c 6f 61 74 69 6e 67 69 70 28 73 65 6c 66 2c 20 66 handle_create_floatingip(self,.f
6620 69 70 5f 64 69 63 74 29 3a 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 73 65 6e 64 5f 66 6c 6f 61 ip_dict):.........self.send_floa
6640 74 69 6e 67 69 70 5f 6d 73 67 28 27 70 6f 73 74 27 2c 20 27 66 6c 6f 61 74 69 6e 67 69 70 73 27 tingip_msg('post',.'floatingips'
6660 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ,...............................
6680 20 20 20 7b 27 66 6c 6f 61 74 69 6e 67 69 70 27 3a 20 66 69 70 5f 64 69 63 74 7d 29 0a 0a 20 20 ...{'floatingip':.fip_dict})....
66a0 20 20 64 65 66 20 68 61 6e 64 6c 65 5f 75 70 64 61 74 65 5f 66 6c 6f 61 74 69 6e 67 69 70 28 73 ..def.handle_update_floatingip(s
66c0 65 6c 66 2c 20 69 64 2c 20 66 69 70 5f 64 69 63 74 29 3a 0a 20 20 20 20 20 20 20 20 75 72 6c 5f elf,.id,.fip_dict):.........url_
66e0 70 61 74 68 20 3d 20 27 66 6c 6f 61 74 69 6e 67 69 70 73 27 20 2b 20 27 2f 27 20 2b 20 69 64 0a path.=.'floatingips'.+.'/'.+.id.
6700 20 20 20 20 20 20 20 20 73 65 6c 66 2e 73 65 6e 64 5f 66 6c 6f 61 74 69 6e 67 69 70 5f 6d 73 67 ........self.send_floatingip_msg
6720 28 27 70 75 74 27 2c 20 75 72 6c 5f 70 61 74 68 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ('put',.url_path,...............
6740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 27 66 6c 6f 61 74 69 6e 67 69 70 27 ...................{'floatingip'
6760 3a 20 66 69 70 5f 64 69 63 74 7d 29 0a 0a 20 20 20 20 64 65 66 20 68 61 6e 64 6c 65 5f 64 65 6c :.fip_dict})......def.handle_del
6780 65 74 65 5f 66 6c 6f 61 74 69 6e 67 69 70 28 73 65 6c 66 2c 20 69 64 29 3a 0a 20 20 20 20 20 20 ete_floatingip(self,.id):.......
67a0 20 20 75 72 6c 5f 70 61 74 68 20 3d 20 27 66 6c 6f 61 74 69 6e 67 69 70 73 27 20 2b 20 27 2f 27 ..url_path.=.'floatingips'.+.'/'
67c0 20 2b 20 69 64 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 73 65 6e 64 5f 66 6c 6f 61 74 69 6e 67 .+.id.........self.send_floating
67e0 69 70 5f 6d 73 67 28 27 64 65 6c 65 74 65 27 2c 20 75 72 6c 5f 70 61 74 68 2c 20 4e 6f 6e 65 29 ip_msg('delete',.url_path,.None)
6800 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
68a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
68c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
68e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
69a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
69c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
69e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6a00 6e 65 74 77 6f 72 6b 69 6e 67 2d 6f 6e 6f 73 2f 6e 65 74 77 6f 72 6b 69 6e 67 5f 6f 6e 6f 73 2f networking-onos/networking_onos/
6a20 70 6c 75 67 69 6e 73 2f 6c 33 2f 72 6f 75 74 65 72 2e 70 79 00 00 00 00 00 00 00 00 00 00 00 00 plugins/l3/router.py............
6a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6a60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000644.0001750.0001750.0000
6a80 30 30 30 36 30 31 33 00 31 32 36 32 37 35 31 33 34 34 32 00 30 32 32 30 36 33 00 20 30 00 00 00 0006013.12627513442.022063..0...
6aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6b00 00 75 73 74 61 72 20 20 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...onos...................
6b20 00 00 00 00 00 00 00 00 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........onos...................
6b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6c00 23 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 31 35 20 48 75 61 77 65 69 20 54 65 63 68 #.Copyright.(C).2015.Huawei.Tech
6c20 6e 6f 6c 6f 67 69 65 73 20 49 6e 64 69 61 20 50 76 74 20 4c 74 64 2e 0a 23 0a 23 20 20 4c 69 63 nologies.India.Pvt.Ltd..#.#..Lic
6c40 65 6e 73 65 64 20 75 6e 64 65 72 20 74 68 65 20 41 70 61 63 68 65 20 4c 69 63 65 6e 73 65 2c 20 ensed.under.the.Apache.License,.
6c60 56 65 72 73 69 6f 6e 20 32 2e 30 20 28 74 68 65 20 22 4c 69 63 65 6e 73 65 22 29 3b 20 79 6f 75 Version.2.0.(the."License");.you
6c80 20 6d 61 79 0a 23 20 20 6e 6f 74 20 75 73 65 20 74 68 69 73 20 66 69 6c 65 20 65 78 63 65 70 74 .may.#..not.use.this.file.except
6ca0 20 69 6e 20 63 6f 6d 70 6c 69 61 6e 63 65 20 77 69 74 68 20 74 68 65 20 4c 69 63 65 6e 73 65 2e .in.compliance.with.the.License.
6cc0 20 59 6f 75 20 6d 61 79 20 6f 62 74 61 69 6e 0a 23 20 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 .You.may.obtain.#..a.copy.of.the
6ce0 20 4c 69 63 65 6e 73 65 20 61 74 0a 23 0a 23 20 20 20 20 20 20 20 68 74 74 70 3a 2f 2f 77 77 77 .License.at.#.#.......http://www
6d00 2e 61 70 61 63 68 65 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 4c 49 43 45 4e 53 45 2d 32 2e 30 .apache.org/licenses/LICENSE-2.0
6d20 0a 23 0a 23 20 20 55 6e 6c 65 73 73 20 72 65 71 75 69 72 65 64 20 62 79 20 61 70 70 6c 69 63 61 .#.#..Unless.required.by.applica
6d40 62 6c 65 20 6c 61 77 20 6f 72 20 61 67 72 65 65 64 20 74 6f 20 69 6e 20 77 72 69 74 69 6e 67 2c ble.law.or.agreed.to.in.writing,
6d60 20 73 6f 66 74 77 61 72 65 0a 23 20 20 64 69 73 74 72 69 62 75 74 65 64 20 75 6e 64 65 72 20 74 .software.#..distributed.under.t
6d80 68 65 20 4c 69 63 65 6e 73 65 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 6f 6e 20 61 6e 20 he.License.is.distributed.on.an.
6da0 22 41 53 20 49 53 22 20 42 41 53 49 53 2c 20 57 49 54 48 4f 55 54 0a 23 20 20 57 41 52 52 41 4e "AS.IS".BASIS,.WITHOUT.#..WARRAN
6dc0 54 49 45 53 20 4f 52 20 43 4f 4e 44 49 54 49 4f 4e 53 20 4f 46 20 41 4e 59 20 4b 49 4e 44 2c 20 TIES.OR.CONDITIONS.OF.ANY.KIND,.
6de0 65 69 74 68 65 72 20 65 78 70 72 65 73 73 20 6f 72 20 69 6d 70 6c 69 65 64 2e 20 53 65 65 20 74 either.express.or.implied..See.t
6e00 68 65 0a 23 20 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 74 68 65 20 73 70 65 63 69 66 69 63 20 6c he.#..License.for.the.specific.l
6e20 61 6e 67 75 61 67 65 20 67 6f 76 65 72 6e 69 6e 67 20 70 65 72 6d 69 73 73 69 6f 6e 73 20 61 6e anguage.governing.permissions.an
6e40 64 20 6c 69 6d 69 74 61 74 69 6f 6e 73 0a 23 20 20 75 6e 64 65 72 20 74 68 65 20 4c 69 63 65 6e d.limitations.#..under.the.Licen
6e60 73 65 2e 0a 23 0a 0a 66 72 6f 6d 20 6e 65 74 77 6f 72 6b 69 6e 67 5f 6f 6e 6f 73 2e 63 6f 6d 6d se..#..from.networking_onos.comm
6e80 6f 6e 20 69 6d 70 6f 72 74 20 75 74 69 6c 73 20 61 73 20 6f 6e 6f 73 5f 75 74 69 6c 73 0a 0a 41 on.import.utils.as.onos_utils..A
6ea0 44 44 5f 49 4e 54 46 5f 42 59 5f 50 4f 52 54 20 3d 20 31 0a 41 44 44 5f 49 4e 54 46 5f 42 59 5f DD_INTF_BY_PORT.=.1.ADD_INTF_BY_
6ec0 53 55 42 4e 45 54 20 3d 20 32 0a 0a 0a 63 6c 61 73 73 20 4f 4e 4f 53 52 6f 75 74 65 72 28 6f 62 SUBNET.=.2...class.ONOSRouter(ob
6ee0 6a 65 63 74 29 3a 0a 0a 20 20 20 20 22 22 22 49 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 6f 66 ject):......"""Implementation.of
6f00 20 4f 4e 4f 53 20 4c 33 20 52 6f 75 74 65 72 20 53 65 72 76 69 63 65 2e 0a 0a 20 20 20 20 54 68 .ONOS.L3.Router.Service.......Th
6f20 69 73 20 63 6c 61 73 73 20 73 65 6e 64 73 20 4e 65 75 74 72 6f 6e 27 73 20 4c 33 20 72 6f 75 74 is.class.sends.Neutron's.L3.rout
6f40 65 72 20 6d 65 73 73 61 67 65 73 20 74 6f 20 4f 4e 4f 53 2e 0a 20 20 20 20 22 22 22 0a 20 20 20 er.messages.to.ONOS......"""....
6f60 20 64 65 66 20 73 65 6e 64 5f 72 6f 75 74 65 72 5f 6d 73 67 28 73 65 6c 66 2c 20 6d 73 67 5f 74 .def.send_router_msg(self,.msg_t
6f80 79 70 65 2c 20 65 6e 74 69 74 79 5f 70 61 74 68 2c 20 65 6e 74 69 74 79 29 3a 0a 20 20 20 20 20 ype,.entity_path,.entity):......
6fa0 20 20 20 6f 6e 6f 73 5f 75 74 69 6c 73 2e 73 65 6e 64 5f 6d 73 67 28 73 65 6c 66 2e 6f 6e 6f 73 ...onos_utils.send_msg(self.onos
6fc0 5f 70 61 74 68 2c 20 73 65 6c 66 2e 6f 6e 6f 73 5f 61 75 74 68 2c 0a 20 20 20 20 20 20 20 20 20 _path,.self.onos_auth,..........
6fe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 73 67 5f 74 79 70 65 2c 20 65 6e 74 ...................msg_type,.ent
7000 69 74 79 5f 70 61 74 68 2c 20 65 6e 74 69 74 79 29 0a 0a 20 20 20 20 64 65 66 20 68 61 6e 64 6c ity_path,.entity)......def.handl
7020 65 5f 63 72 65 61 74 65 5f 72 6f 75 74 65 72 28 73 65 6c 66 2c 20 72 6f 75 74 65 72 5f 64 69 63 e_create_router(self,.router_dic
7040 74 29 3a 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 73 65 6e 64 5f 72 6f 75 74 65 72 5f 6d 73 67 t):.........self.send_router_msg
7060 28 27 70 6f 73 74 27 2c 20 27 72 6f 75 74 65 72 73 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 ('post',.'routers',.............
7080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 27 72 6f 75 74 65 72 27 3a 20 72 6f 75 74 .................{'router':.rout
70a0 65 72 5f 64 69 63 74 7d 29 0a 0a 20 20 20 20 64 65 66 20 68 61 6e 64 6c 65 5f 75 70 64 61 74 65 er_dict})......def.handle_update
70c0 5f 72 6f 75 74 65 72 28 73 65 6c 66 2c 20 72 6f 75 74 65 72 5f 64 69 63 74 2c 20 69 64 29 3a 0a _router(self,.router_dict,.id):.
70e0 20 20 20 20 20 20 20 20 75 72 6c 5f 70 61 74 68 20 3d 20 27 72 6f 75 74 65 72 73 27 20 2b 20 27 ........url_path.=.'routers'.+.'
7100 2f 27 20 2b 20 69 64 0a 20 20 20 20 20 20 20 20 72 65 73 6f 75 72 63 65 20 3d 20 72 6f 75 74 65 /'.+.id.........resource.=.route
7120 72 5f 64 69 63 74 2e 63 6f 70 79 28 29 0a 20 20 20 20 20 20 20 20 6f 6e 6f 73 5f 75 74 69 6c 73 r_dict.copy().........onos_utils
7140 2e 73 61 66 65 5f 64 65 6c 65 74 65 5f 66 72 6f 6d 5f 64 69 63 74 28 72 65 73 6f 75 72 63 65 2c .safe_delete_from_dict(resource,
7160 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
7180 20 20 20 20 20 20 20 20 20 20 5b 27 69 64 27 2c 20 27 74 65 6e 61 6e 74 5f 69 64 27 2c 20 27 73 ..........['id',.'tenant_id',.'s
71a0 74 61 74 75 73 27 5d 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 73 65 6e 64 5f 72 6f 75 74 65 tatus']).........self.send_route
71c0 72 5f 6d 73 67 28 27 70 75 74 27 2c 20 75 72 6c 5f 70 61 74 68 2c 20 7b 27 72 6f 75 74 65 72 27 r_msg('put',.url_path,.{'router'
71e0 3a 20 72 65 73 6f 75 72 63 65 7d 29 0a 0a 20 20 20 20 64 65 66 20 68 61 6e 64 6c 65 5f 64 65 6c :.resource})......def.handle_del
7200 65 74 65 5f 72 6f 75 74 65 72 28 73 65 6c 66 2c 20 69 64 29 3a 0a 20 20 20 20 20 20 20 20 75 72 ete_router(self,.id):.........ur
7220 6c 5f 70 61 74 68 20 3d 20 27 72 6f 75 74 65 72 73 27 20 2b 20 27 2f 27 20 2b 20 69 64 0a 20 20 l_path.=.'routers'.+.'/'.+.id...
7240 20 20 20 20 20 20 73 65 6c 66 2e 73 65 6e 64 5f 72 6f 75 74 65 72 5f 6d 73 67 28 27 64 65 6c 65 ......self.send_router_msg('dele
7260 74 65 27 2c 20 75 72 6c 5f 70 61 74 68 2c 20 4e 6f 6e 65 29 0a 0a 20 20 20 20 64 65 66 20 68 61 te',.url_path,.None)......def.ha
7280 6e 64 6c 65 5f 61 64 64 5f 72 6f 75 74 65 72 5f 69 6e 74 65 72 66 61 63 65 28 73 65 6c 66 2c 20 ndle_add_router_interface(self,.
72a0 6e 65 77 5f 72 6f 75 74 65 72 2c 20 72 6f 75 74 65 72 5f 69 64 2c 0a 20 20 20 20 20 20 20 20 20 new_router,.router_id,..........
72c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 65 72 ...........................inter
72e0 66 61 63 65 5f 69 6e 66 6f 2c 20 69 6e 74 66 5f 61 64 64 5f 74 79 70 65 29 3a 0a 20 20 20 20 20 face_info,.intf_add_type):......
7300 20 20 20 75 72 6c 5f 70 61 74 68 20 3d 20 27 72 6f 75 74 65 72 73 27 20 2b 20 27 2f 27 20 2b 20 ...url_path.=.'routers'.+.'/'.+.
7320 72 6f 75 74 65 72 5f 69 64 20 2b 20 27 2f 61 64 64 5f 72 6f 75 74 65 72 5f 69 6e 74 65 72 66 61 router_id.+.'/add_router_interfa
7340 63 65 27 0a 20 20 20 20 20 20 20 20 72 6f 75 74 65 72 5f 64 69 63 74 20 3d 20 73 65 6c 66 2e 5f ce'.........router_dict.=.self._
7360 70 72 65 70 61 72 65 5f 72 6f 75 74 65 72 5f 64 69 63 74 28 72 6f 75 74 65 72 5f 69 64 2c 20 69 prepare_router_dict(router_id,.i
7380 6e 74 65 72 66 61 63 65 5f 69 6e 66 6f 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 nterface_info,..................
73a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e ...............................n
73c0 65 77 5f 72 6f 75 74 65 72 2c 20 69 6e 74 66 5f 61 64 64 5f 74 79 70 65 29 0a 20 20 20 20 20 20 ew_router,.intf_add_type).......
73e0 20 20 73 65 6c 66 2e 73 65 6e 64 5f 72 6f 75 74 65 72 5f 6d 73 67 28 27 70 75 74 27 2c 20 75 72 ..self.send_router_msg('put',.ur
7400 6c 5f 70 61 74 68 2c 20 72 6f 75 74 65 72 5f 64 69 63 74 29 0a 0a 20 20 20 20 64 65 66 20 68 61 l_path,.router_dict)......def.ha
7420 6e 64 6c 65 5f 72 65 6d 6f 76 65 5f 72 6f 75 74 65 72 5f 69 6e 74 65 72 66 61 63 65 28 73 65 6c ndle_remove_router_interface(sel
7440 66 2c 20 6e 65 77 5f 72 6f 75 74 65 72 2c 20 72 6f 75 74 65 72 5f 69 64 2c 0a 20 20 20 20 20 20 f,.new_router,.router_id,.......
7460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
7480 20 69 6e 74 65 72 66 61 63 65 5f 69 6e 66 6f 2c 20 69 6e 74 66 5f 61 64 64 5f 74 79 70 65 29 3a .interface_info,.intf_add_type):
74a0 0a 20 20 20 20 20 20 20 20 75 72 6c 5f 70 61 74 68 20 3d 20 27 72 6f 75 74 65 72 73 27 20 2b 20 .........url_path.=.'routers'.+.
74c0 27 2f 27 20 2b 20 72 6f 75 74 65 72 5f 69 64 20 2b 20 27 2f 72 65 6d 6f 76 65 5f 72 6f 75 74 65 '/'.+.router_id.+.'/remove_route
74e0 72 5f 69 6e 74 65 72 66 61 63 65 27 0a 20 20 20 20 20 20 20 20 72 6f 75 74 65 72 5f 64 69 63 74 r_interface'.........router_dict
7500 20 3d 20 73 65 6c 66 2e 5f 70 72 65 70 61 72 65 5f 72 6f 75 74 65 72 5f 64 69 63 74 28 72 6f 75 .=.self._prepare_router_dict(rou
7520 74 65 72 5f 69 64 2c 20 69 6e 74 65 72 66 61 63 65 5f 69 6e 66 6f 2c 0a 20 20 20 20 20 20 20 20 ter_id,.interface_info,.........
7540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
7560 20 20 20 20 20 20 20 20 6e 65 77 5f 72 6f 75 74 65 72 2c 20 69 6e 74 66 5f 61 64 64 5f 74 79 70 ........new_router,.intf_add_typ
7580 65 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 73 65 6e 64 5f 72 6f 75 74 65 72 5f 6d 73 67 28 e).........self.send_router_msg(
75a0 27 70 75 74 27 2c 20 75 72 6c 5f 70 61 74 68 2c 20 72 6f 75 74 65 72 5f 64 69 63 74 29 0a 0a 20 'put',.url_path,.router_dict)...
75c0 20 20 20 64 65 66 20 5f 70 72 65 70 61 72 65 5f 72 6f 75 74 65 72 5f 64 69 63 74 28 73 65 6c 66 ...def._prepare_router_dict(self
75e0 2c 20 72 6f 75 74 65 72 5f 69 64 2c 20 69 6e 74 65 72 66 61 63 65 5f 69 6e 66 6f 2c 0a 20 20 20 ,.router_id,.interface_info,....
7600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 65 77 5f 72 6f ..........................new_ro
7620 75 74 65 72 2c 20 61 64 64 5f 74 79 70 65 29 3a 0a 20 20 20 20 20 20 20 20 69 66 20 61 64 64 5f uter,.add_type):.........if.add_
7640 74 79 70 65 20 3d 3d 20 41 44 44 5f 49 4e 54 46 5f 42 59 5f 53 55 42 4e 45 54 3a 0a 20 20 20 20 type.==.ADD_INTF_BY_SUBNET:.....
7660 20 20 20 20 20 20 20 20 5f 70 6f 72 74 5f 69 64 20 3d 20 6e 65 77 5f 72 6f 75 74 65 72 5b 27 70 ........_port_id.=.new_router['p
7680 6f 72 74 5f 69 64 27 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 5f 73 75 62 6e 65 74 5f 69 64 20 ort_id']............._subnet_id.
76a0 3d 20 69 6e 74 65 72 66 61 63 65 5f 69 6e 66 6f 5b 27 73 75 62 6e 65 74 5f 69 64 27 5d 0a 20 20 =.interface_info['subnet_id']...
76c0 20 20 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 5f 70 6f 72 74 5f 69 64 ......else:............._port_id
76e0 20 3d 20 69 6e 74 65 72 66 61 63 65 5f 69 6e 66 6f 5b 27 70 6f 72 74 5f 69 64 27 5d 0a 20 20 20 .=.interface_info['port_id']....
7700 20 20 20 20 20 20 20 20 20 5f 73 75 62 6e 65 74 5f 69 64 20 3d 20 6e 65 77 5f 72 6f 75 74 65 72 ........._subnet_id.=.new_router
7720 5b 27 73 75 62 6e 65 74 5f 69 64 27 5d 0a 0a 20 20 20 20 20 20 20 20 72 6f 75 74 65 72 5f 64 69 ['subnet_id']..........router_di
7740 63 74 20 3d 20 7b 27 73 75 62 6e 65 74 5f 69 64 27 3a 20 5f 73 75 62 6e 65 74 5f 69 64 2c 0a 20 ct.=.{'subnet_id':._subnet_id,..
7760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 70 6f 72 74 5f 69 64 27 3a ......................'port_id':
7780 20 5f 70 6f 72 74 5f 69 64 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ._port_id,......................
77a0 20 20 27 69 64 27 3a 20 72 6f 75 74 65 72 5f 69 64 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ..'id':.router_id,..............
77c0 20 20 20 20 20 20 20 20 20 20 27 74 65 6e 61 6e 74 5f 69 64 27 3a 20 6e 65 77 5f 72 6f 75 74 65 ..........'tenant_id':.new_route
77e0 72 5b 27 74 65 6e 61 6e 74 5f 69 64 27 5d 7d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 72 r['tenant_id']}.........return.r
7800 6f 75 74 65 72 5f 64 69 63 74 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 outer_dict......................
7820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
78a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
78c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
78e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
79a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
79c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
79e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7a00 6e 65 74 77 6f 72 6b 69 6e 67 2d 6f 6e 6f 73 2f 6e 65 74 77 6f 72 6b 69 6e 67 5f 6f 6e 6f 73 2f networking-onos/networking_onos/
7a20 5f 5f 69 6e 69 74 5f 5f 2e 70 79 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 __init__.py.....................
7a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7a60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000644.0001750.0001750.0000
7a80 30 30 30 31 32 33 37 00 31 32 36 32 37 35 31 33 34 34 32 00 30 32 30 33 30 36 00 20 30 00 00 00 0001237.12627513442.020306..0...
7aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7b00 00 75 73 74 61 72 20 20 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...onos...................
7b20 00 00 00 00 00 00 00 00 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........onos...................
7b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7c00 23 20 2d 2a 2d 20 63 6f 64 69 6e 67 3a 20 75 74 66 2d 38 20 2d 2a 2d 0a 0a 23 20 4c 69 63 65 6e #.-*-.coding:.utf-8.-*-..#.Licen
7c20 73 65 64 20 75 6e 64 65 72 20 74 68 65 20 41 70 61 63 68 65 20 4c 69 63 65 6e 73 65 2c 20 56 65 sed.under.the.Apache.License,.Ve
7c40 72 73 69 6f 6e 20 32 2e 30 20 28 74 68 65 20 22 4c 69 63 65 6e 73 65 22 29 3b 20 79 6f 75 20 6d rsion.2.0.(the."License");.you.m
7c60 61 79 0a 23 20 6e 6f 74 20 75 73 65 20 74 68 69 73 20 66 69 6c 65 20 65 78 63 65 70 74 20 69 6e ay.#.not.use.this.file.except.in
7c80 20 63 6f 6d 70 6c 69 61 6e 63 65 20 77 69 74 68 20 74 68 65 20 4c 69 63 65 6e 73 65 2e 20 59 6f .compliance.with.the.License..Yo
7ca0 75 20 6d 61 79 20 6f 62 74 61 69 6e 0a 23 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 4c 69 63 u.may.obtain.#.a.copy.of.the.Lic
7cc0 65 6e 73 65 20 61 74 0a 23 0a 23 20 20 20 20 20 20 68 74 74 70 3a 2f 2f 77 77 77 2e 61 70 61 63 ense.at.#.#......http://www.apac
7ce0 68 65 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 4c 49 43 45 4e 53 45 2d 32 2e 30 0a 23 0a 23 20 he.org/licenses/LICENSE-2.0.#.#.
7d00 55 6e 6c 65 73 73 20 72 65 71 75 69 72 65 64 20 62 79 20 61 70 70 6c 69 63 61 62 6c 65 20 6c 61 Unless.required.by.applicable.la
7d20 77 20 6f 72 20 61 67 72 65 65 64 20 74 6f 20 69 6e 20 77 72 69 74 69 6e 67 2c 20 73 6f 66 74 77 w.or.agreed.to.in.writing,.softw
7d40 61 72 65 0a 23 20 64 69 73 74 72 69 62 75 74 65 64 20 75 6e 64 65 72 20 74 68 65 20 4c 69 63 65 are.#.distributed.under.the.Lice
7d60 6e 73 65 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 6f 6e 20 61 6e 20 22 41 53 20 49 53 22 nse.is.distributed.on.an."AS.IS"
7d80 20 42 41 53 49 53 2c 20 57 49 54 48 4f 55 54 0a 23 20 57 41 52 52 41 4e 54 49 45 53 20 4f 52 20 .BASIS,.WITHOUT.#.WARRANTIES.OR.
7da0 43 4f 4e 44 49 54 49 4f 4e 53 20 4f 46 20 41 4e 59 20 4b 49 4e 44 2c 20 65 69 74 68 65 72 20 65 CONDITIONS.OF.ANY.KIND,.either.e
7dc0 78 70 72 65 73 73 20 6f 72 20 69 6d 70 6c 69 65 64 2e 20 53 65 65 20 74 68 65 0a 23 20 4c 69 63 xpress.or.implied..See.the.#.Lic
7de0 65 6e 73 65 20 66 6f 72 20 74 68 65 20 73 70 65 63 69 66 69 63 20 6c 61 6e 67 75 61 67 65 20 67 ense.for.the.specific.language.g
7e00 6f 76 65 72 6e 69 6e 67 20 70 65 72 6d 69 73 73 69 6f 6e 73 20 61 6e 64 20 6c 69 6d 69 74 61 74 overning.permissions.and.limitat
7e20 69 6f 6e 73 0a 23 20 75 6e 64 65 72 20 74 68 65 20 4c 69 63 65 6e 73 65 2e 0a 0a 69 6d 70 6f 72 ions.#.under.the.License...impor
7e40 74 20 70 62 72 2e 76 65 72 73 69 6f 6e 0a 0a 0a 5f 5f 76 65 72 73 69 6f 6e 5f 5f 20 3d 20 70 62 t.pbr.version...__version__.=.pb
7e60 72 2e 76 65 72 73 69 6f 6e 2e 56 65 72 73 69 6f 6e 49 6e 66 6f 28 0a 20 20 20 20 27 6e 65 74 77 r.version.VersionInfo(.....'netw
7e80 6f 72 6b 69 6e 67 2d 6f 6e 6f 73 27 29 2e 76 65 72 73 69 6f 6e 5f 73 74 72 69 6e 67 28 29 0a 00 orking-onos').version_string()..
7ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8000 6e 65 74 77 6f 72 6b 69 6e 67 2d 6f 6e 6f 73 2f 6e 65 74 77 6f 72 6b 69 6e 67 5f 6f 6e 6f 73 2f networking-onos/networking_onos/
8020 74 65 73 74 73 2f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 tests/..........................
8040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8060 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000755.0001750.0001750.0000
8080 30 30 30 30 30 30 30 00 31 32 36 32 37 35 31 33 34 34 32 00 30 31 37 33 33 34 00 20 35 00 00 00 0000000.12627513442.017334..5...
80a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
80c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
80e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8100 00 75 73 74 61 72 20 20 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...onos...................
8120 00 00 00 00 00 00 00 00 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........onos...................
8140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
81a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
81c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
81e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8200 6e 65 74 77 6f 72 6b 69 6e 67 2d 6f 6e 6f 73 2f 6e 65 74 77 6f 72 6b 69 6e 67 5f 6f 6e 6f 73 2f networking-onos/networking_onos/
8220 74 65 73 74 73 2f 5f 5f 69 6e 69 74 5f 5f 2e 70 79 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 tests/__init__.py...............
8240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8260 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000644.0001750.0001750.0000
8280 30 30 30 30 30 30 30 00 31 32 36 32 37 35 31 33 34 34 32 00 30 32 31 34 33 33 00 20 30 00 00 00 0000000.12627513442.021433..0...
82a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
82c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
82e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8300 00 75 73 74 61 72 20 20 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...onos...................
8320 00 00 00 00 00 00 00 00 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........onos...................
8340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
83a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
83c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
83e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8400 6e 65 74 77 6f 72 6b 69 6e 67 2d 6f 6e 6f 73 2f 6e 65 74 77 6f 72 6b 69 6e 67 5f 6f 6e 6f 73 2f networking-onos/networking_onos/
8420 74 65 73 74 73 2f 75 6e 69 74 2f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 tests/unit/.....................
8440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8460 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000755.0001750.0001750.0000
8480 30 30 30 30 30 30 30 00 31 32 36 32 37 35 31 33 34 34 32 00 30 32 30 33 31 33 00 20 35 00 00 00 0000000.12627513442.020313..5...
84a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
84c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
84e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8500 00 75 73 74 61 72 20 20 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...onos...................
8520 00 00 00 00 00 00 00 00 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........onos...................
8540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
85a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
85c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
85e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8600 6e 65 74 77 6f 72 6b 69 6e 67 2d 6f 6e 6f 73 2f 6e 65 74 77 6f 72 6b 69 6e 67 5f 6f 6e 6f 73 2f networking-onos/networking_onos/
8620 74 65 73 74 73 2f 75 6e 69 74 2f 70 6c 75 67 69 6e 73 2f 00 00 00 00 00 00 00 00 00 00 00 00 00 tests/unit/plugins/.............
8640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8660 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000755.0001750.0001750.0000
8680 30 30 30 30 30 30 30 00 31 32 36 32 37 35 31 33 34 34 32 00 30 32 31 37 37 34 00 20 35 00 00 00 0000000.12627513442.021774..5...
86a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
86c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
86e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8700 00 75 73 74 61 72 20 20 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...onos...................
8720 00 00 00 00 00 00 00 00 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........onos...................
8740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
87a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
87c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
87e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8800 6e 65 74 77 6f 72 6b 69 6e 67 2d 6f 6e 6f 73 2f 6e 65 74 77 6f 72 6b 69 6e 67 5f 6f 6e 6f 73 2f networking-onos/networking_onos/
8820 74 65 73 74 73 2f 75 6e 69 74 2f 70 6c 75 67 69 6e 73 2f 5f 5f 69 6e 69 74 5f 5f 2e 70 79 00 00 tests/unit/plugins/__init__.py..
8840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8860 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000644.0001750.0001750.0000
8880 30 30 30 30 30 30 30 00 31 32 36 32 37 35 31 33 34 34 32 00 30 32 34 30 37 33 00 20 30 00 00 00 0000000.12627513442.024073..0...
88a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
88c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
88e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8900 00 75 73 74 61 72 20 20 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...onos...................
8920 00 00 00 00 00 00 00 00 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........onos...................
8940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
89a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
89c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
89e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8a00 6e 65 74 77 6f 72 6b 69 6e 67 2d 6f 6e 6f 73 2f 6e 65 74 77 6f 72 6b 69 6e 67 5f 6f 6e 6f 73 2f networking-onos/networking_onos/
8a20 74 65 73 74 73 2f 75 6e 69 74 2f 70 6c 75 67 69 6e 73 2f 6d 6c 32 2f 00 00 00 00 00 00 00 00 00 tests/unit/plugins/ml2/.........
8a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8a60 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000755.0001750.0001750.0000
8a80 30 30 30 30 30 30 30 00 31 32 36 32 37 35 31 33 34 34 32 00 30 32 32 34 36 36 00 20 35 00 00 00 0000000.12627513442.022466..5...
8aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8b00 00 75 73 74 61 72 20 20 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...onos...................
8b20 00 00 00 00 00 00 00 00 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........onos...................
8b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8c00 6e 65 74 77 6f 72 6b 69 6e 67 2d 6f 6e 6f 73 2f 6e 65 74 77 6f 72 6b 69 6e 67 5f 6f 6e 6f 73 2f networking-onos/networking_onos/
8c20 74 65 73 74 73 2f 75 6e 69 74 2f 70 6c 75 67 69 6e 73 2f 6d 6c 32 2f 74 65 73 74 5f 64 72 69 76 tests/unit/plugins/ml2/test_driv
8c40 65 72 2e 70 79 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 er.py...........................
8c60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000644.0001750.0001750.0000
8c80 30 30 32 33 37 36 37 00 31 32 36 32 37 35 31 33 34 34 32 00 30 32 35 34 31 31 00 20 30 00 00 00 0023767.12627513442.025411..0...
8ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8d00 00 75 73 74 61 72 20 20 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...onos...................
8d20 00 00 00 00 00 00 00 00 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........onos...................
8d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8e00 23 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 30 31 35 20 48 75 61 77 65 69 20 54 65 63 68 #.Copyright.(c).2015.Huawei.Tech
8e20 6e 6f 6c 6f 67 69 65 73 20 49 6e 64 69 61 20 50 76 74 20 4c 74 64 0a 23 20 41 6c 6c 20 52 69 67 nologies.India.Pvt.Ltd.#.All.Rig
8e40 68 74 73 20 52 65 73 65 72 76 65 64 2e 0a 23 0a 23 20 20 20 20 4c 69 63 65 6e 73 65 64 20 75 6e hts.Reserved..#.#....Licensed.un
8e60 64 65 72 20 74 68 65 20 41 70 61 63 68 65 20 4c 69 63 65 6e 73 65 2c 20 56 65 72 73 69 6f 6e 20 der.the.Apache.License,.Version.
8e80 32 2e 30 20 28 74 68 65 20 22 4c 69 63 65 6e 73 65 22 29 3b 20 79 6f 75 20 6d 61 79 0a 23 20 20 2.0.(the."License");.you.may.#..
8ea0 20 20 6e 6f 74 20 75 73 65 20 74 68 69 73 20 66 69 6c 65 20 65 78 63 65 70 74 20 69 6e 20 63 6f ..not.use.this.file.except.in.co
8ec0 6d 70 6c 69 61 6e 63 65 20 77 69 74 68 20 74 68 65 20 4c 69 63 65 6e 73 65 2e 20 59 6f 75 20 6d mpliance.with.the.License..You.m
8ee0 61 79 20 6f 62 74 61 69 6e 0a 23 20 20 20 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 4c 69 63 ay.obtain.#....a.copy.of.the.Lic
8f00 65 6e 73 65 20 61 74 0a 23 0a 23 20 20 20 20 20 20 20 20 20 68 74 74 70 3a 2f 2f 77 77 77 2e 61 ense.at.#.#.........http://www.a
8f20 70 61 63 68 65 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 4c 49 43 45 4e 53 45 2d 32 2e 30 0a 23 pache.org/licenses/LICENSE-2.0.#
8f40 0a 23 20 20 20 20 55 6e 6c 65 73 73 20 72 65 71 75 69 72 65 64 20 62 79 20 61 70 70 6c 69 63 61 .#....Unless.required.by.applica
8f60 62 6c 65 20 6c 61 77 20 6f 72 20 61 67 72 65 65 64 20 74 6f 20 69 6e 20 77 72 69 74 69 6e 67 2c ble.law.or.agreed.to.in.writing,
8f80 20 73 6f 66 74 77 61 72 65 0a 23 20 20 20 20 64 69 73 74 72 69 62 75 74 65 64 20 75 6e 64 65 72 .software.#....distributed.under
8fa0 20 74 68 65 20 4c 69 63 65 6e 73 65 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 6f 6e 20 61 .the.License.is.distributed.on.a
8fc0 6e 20 22 41 53 20 49 53 22 20 42 41 53 49 53 2c 20 57 49 54 48 4f 55 54 0a 23 20 20 20 20 57 41 n."AS.IS".BASIS,.WITHOUT.#....WA
8fe0 52 52 41 4e 54 49 45 53 20 4f 52 20 43 4f 4e 44 49 54 49 4f 4e 53 20 4f 46 20 41 4e 59 20 4b 49 RRANTIES.OR.CONDITIONS.OF.ANY.KI
9000 4e 44 2c 20 65 69 74 68 65 72 20 65 78 70 72 65 73 73 20 6f 72 20 69 6d 70 6c 69 65 64 2e 20 53 ND,.either.express.or.implied..S
9020 65 65 20 74 68 65 0a 23 20 20 20 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 74 68 65 20 73 70 65 63 ee.the.#....License.for.the.spec
9040 69 66 69 63 20 6c 61 6e 67 75 61 67 65 20 67 6f 76 65 72 6e 69 6e 67 20 70 65 72 6d 69 73 73 69 ific.language.governing.permissi
9060 6f 6e 73 20 61 6e 64 20 6c 69 6d 69 74 61 74 69 6f 6e 73 0a 23 20 20 20 20 75 6e 64 65 72 20 74 ons.and.limitations.#....under.t
9080 68 65 20 4c 69 63 65 6e 73 65 2e 0a 0a 69 6d 70 6f 72 74 20 6d 6f 63 6b 0a 69 6d 70 6f 72 74 20 he.License...import.mock.import.
90a0 72 65 71 75 65 73 74 73 0a 0a 66 72 6f 6d 20 6f 73 6c 6f 5f 63 6f 6e 66 69 67 20 69 6d 70 6f 72 requests..from.oslo_config.impor
90c0 74 20 63 66 67 0a 66 72 6f 6d 20 6f 73 6c 6f 5f 73 65 72 69 61 6c 69 7a 61 74 69 6f 6e 20 69 6d t.cfg.from.oslo_serialization.im
90e0 70 6f 72 74 20 6a 73 6f 6e 75 74 69 6c 73 0a 66 72 6f 6d 20 6f 73 6c 6f 74 65 73 74 20 69 6d 70 port.jsonutils.from.oslotest.imp
9100 6f 72 74 20 62 61 73 65 0a 0a 66 72 6f 6d 20 6e 65 75 74 72 6f 6e 2e 63 6f 6d 6d 6f 6e 20 69 6d ort.base..from.neutron.common.im
9120 70 6f 72 74 20 63 6f 6e 73 74 61 6e 74 73 20 61 73 20 6e 5f 63 6f 6e 73 74 0a 66 72 6f 6d 20 6e port.constants.as.n_const.from.n
9140 65 75 74 72 6f 6e 2e 70 6c 75 67 69 6e 73 2e 63 6f 6d 6d 6f 6e 20 69 6d 70 6f 72 74 20 63 6f 6e eutron.plugins.common.import.con
9160 73 74 61 6e 74 73 0a 66 72 6f 6d 20 6e 65 75 74 72 6f 6e 2e 70 6c 75 67 69 6e 73 2e 6d 6c 32 20 stants.from.neutron.plugins.ml2.
9180 69 6d 70 6f 72 74 20 64 72 69 76 65 72 5f 61 70 69 20 61 73 20 61 70 69 0a 66 72 6f 6d 20 6e 65 import.driver_api.as.api.from.ne
91a0 75 74 72 6f 6e 2e 70 6c 75 67 69 6e 73 2e 6d 6c 32 20 69 6d 70 6f 72 74 20 64 72 69 76 65 72 5f utron.plugins.ml2.import.driver_
91c0 63 6f 6e 74 65 78 74 20 61 73 20 63 74 78 0a 0a 69 6d 70 6f 72 74 20 6e 65 74 77 6f 72 6b 69 6e context.as.ctx..import.networkin
91e0 67 5f 6f 6e 6f 73 2e 70 6c 75 67 69 6e 73 2e 6d 6c 32 2e 64 72 69 76 65 72 20 61 73 20 6f 6e 6f g_onos.plugins.ml2.driver.as.ono
9200 73 5f 6d 6c 32 5f 64 72 69 76 65 72 0a 0a 0a 66 61 6b 65 5f 6e 65 74 77 6f 72 6b 5f 75 75 69 64 s_ml2_driver...fake_network_uuid
9220 20 3d 20 27 64 38 39 37 65 32 31 61 2d 64 66 64 36 2d 34 33 33 31 2d 61 35 64 64 2d 37 35 32 34 .=.'d897e21a-dfd6-4331-a5dd-7524
9240 66 61 34 32 31 63 33 65 27 0a 66 61 6b 65 5f 6e 65 74 77 6f 72 6b 5f 6f 62 6a 65 63 74 20 3d 20 fa421c3e'.fake_network_object.=.
9260 7b 27 73 74 61 74 75 73 27 3a 20 27 41 43 54 49 56 45 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 {'status':.'ACTIVE',............
9280 20 20 20 20 20 20 20 20 20 20 20 20 27 73 75 62 6e 65 74 73 27 3a 20 5b 5d 2c 0a 20 20 20 20 20 ............'subnets':.[],......
92a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 6e 61 6d 65 27 3a 20 27 6e 65 74 31 27 ..................'name':.'net1'
92c0 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 70 72 6f 76 69 64 ,........................'provid
92e0 65 72 3a 70 68 79 73 69 63 61 6c 5f 6e 65 74 77 6f 72 6b 27 3a 20 4e 6f 6e 65 2c 0a 20 20 20 20 er:physical_network':.None,.....
9300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 61 64 6d 69 6e 5f 73 74 61 74 65 5f ...................'admin_state_
9320 75 70 27 3a 20 54 72 75 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 up':.True,......................
9340 20 20 27 74 65 6e 61 6e 74 5f 69 64 27 3a 20 27 74 65 73 74 2d 74 65 6e 61 6e 74 27 2c 0a 20 20 ..'tenant_id':.'test-tenant',...
9360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 70 72 6f 76 69 64 65 72 3a 6e .....................'provider:n
9380 65 74 77 6f 72 6b 5f 74 79 70 65 27 3a 20 27 6c 6f 63 61 6c 27 2c 0a 20 20 20 20 20 20 20 20 20 etwork_type':.'local',..........
93a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 72 6f 75 74 65 72 3a 65 78 74 65 72 6e 61 6c 27 3a ..............'router:external':
93c0 20 46 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 .False,........................'
93e0 73 68 61 72 65 64 27 3a 20 46 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 shared':.False,.................
9400 20 20 20 20 20 20 20 27 69 64 27 3a 20 66 61 6b 65 5f 6e 65 74 77 6f 72 6b 5f 75 75 69 64 2c 0a .......'id':.fake_network_uuid,.
9420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 70 72 6f 76 69 64 65 72 .......................'provider
9440 3a 73 65 67 6d 65 6e 74 61 74 69 6f 6e 5f 69 64 27 3a 20 4e 6f 6e 65 7d 0a 0a 66 61 6b 65 5f 73 :segmentation_id':.None}..fake_s
9460 75 62 6e 65 74 5f 75 75 69 64 20 3d 20 27 64 38 39 37 65 32 31 61 2d 64 66 64 36 2d 34 33 33 31 ubnet_uuid.=.'d897e21a-dfd6-4331
9480 2d 61 35 64 64 2d 37 35 32 34 66 61 34 32 31 63 33 65 27 0a 66 61 6b 65 5f 73 75 62 6e 65 74 5f -a5dd-7524fa421c3e'.fake_subnet_
94a0 6f 62 6a 65 63 74 20 3d 20 7b 27 69 70 76 36 5f 72 61 5f 6d 6f 64 65 27 3a 20 4e 6f 6e 65 2c 0a object.=.{'ipv6_ra_mode':.None,.
94c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 61 6c 6c 6f 63 61 74 69 6f ......................'allocatio
94e0 6e 5f 70 6f 6f 6c 73 27 3a 20 5b 7b 27 73 74 61 72 74 27 3a 20 27 31 30 2e 30 2e 30 2e 32 27 2c n_pools':.[{'start':.'10.0.0.2',
9500 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
9520 20 20 20 20 20 20 20 20 20 20 20 20 20 27 65 6e 64 27 3a 20 27 31 30 2e 30 2e 31 2e 32 35 34 27 .............'end':.'10.0.1.254'
9540 7d 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 68 6f 73 74 5f }],.......................'host_
9560 72 6f 75 74 65 73 27 3a 20 5b 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 routes':.[],....................
9580 20 20 20 27 69 70 76 36 5f 61 64 64 72 65 73 73 5f 6d 6f 64 65 27 3a 20 4e 6f 6e 65 2c 0a 20 20 ...'ipv6_address_mode':.None,...
95a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 63 69 64 72 27 3a 20 27 31 30 2e ....................'cidr':.'10.
95c0 30 2e 30 2e 30 2f 32 33 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0.0.0/23',......................
95e0 20 27 69 64 27 3a 20 66 61 6b 65 5f 73 75 62 6e 65 74 5f 75 75 69 64 2c 0a 20 20 20 20 20 20 20 .'id':.fake_subnet_uuid,........
9600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 6e 61 6d 65 27 3a 20 27 27 2c 0a 20 20 20 20 20 ...............'name':.'',......
9620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 65 6e 61 62 6c 65 5f 64 68 63 70 27 3a 20 .................'enable_dhcp':.
9640 54 72 75 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 6e 65 74 True,.......................'net
9660 77 6f 72 6b 5f 69 64 27 3a 20 66 61 6b 65 5f 6e 65 74 77 6f 72 6b 5f 75 75 69 64 2c 0a 20 20 20 work_id':.fake_network_uuid,....
9680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 74 65 6e 61 6e 74 5f 69 64 27 3a 20 ...................'tenant_id':.
96a0 27 74 65 73 74 2d 74 65 6e 61 6e 74 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 'test-tenant',..................
96c0 20 20 20 20 20 27 64 6e 73 5f 6e 61 6d 65 73 65 72 76 65 72 73 27 3a 20 5b 5d 2c 0a 20 20 20 20 .....'dns_nameservers':.[],.....
96e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 67 61 74 65 77 61 79 5f 69 70 27 3a 20 ..................'gateway_ip':.
9700 27 31 30 2e 30 2e 30 2e 31 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 '10.0.0.1',.....................
9720 20 20 27 69 70 5f 76 65 72 73 69 6f 6e 27 3a 20 34 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ..'ip_version':.4,..............
9740 20 20 20 20 20 20 20 20 20 27 73 68 61 72 65 64 27 3a 20 46 61 6c 73 65 7d 0a 0a 66 61 6b 65 5f .........'shared':.False}..fake_
9760 70 6f 72 74 5f 75 75 69 64 20 3d 20 27 37 32 63 35 36 63 34 38 2d 65 39 62 38 2d 34 64 63 66 2d port_uuid.=.'72c56c48-e9b8-4dcf-
9780 62 33 61 37 2d 30 38 31 33 62 62 33 62 64 38 33 39 27 0a 66 61 6b 65 5f 70 6f 72 74 5f 6f 62 6a b3a7-0813bb3bd839'.fake_port_obj
97a0 65 63 74 20 3d 20 7b 27 73 74 61 74 75 73 27 3a 20 27 44 4f 57 4e 27 2c 0a 20 20 20 20 20 20 20 ect.=.{'status':.'DOWN',........
97c0 20 20 20 20 20 20 20 20 20 20 20 20 20 27 62 69 6e 64 69 6e 67 3a 68 6f 73 74 5f 69 64 27 3a 20 .............'binding:host_id':.
97e0 27 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 61 6c 6c 6f 77 65 64 '',.....................'allowed
9800 5f 61 64 64 72 65 73 73 5f 70 61 69 72 73 27 3a 20 5b 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 _address_pairs':.[],............
9820 20 20 20 20 20 20 20 20 20 27 64 65 76 69 63 65 5f 6f 77 6e 65 72 27 3a 20 27 66 61 6b 65 5f 6f .........'device_owner':.'fake_o
9840 77 6e 65 72 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 62 69 6e 64 wner',.....................'bind
9860 69 6e 67 3a 70 72 6f 66 69 6c 65 27 3a 20 7b 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ing:profile':.{},...............
9880 20 20 20 20 20 20 27 66 69 78 65 64 5f 69 70 73 27 3a 20 5b 5d 2c 0a 20 20 20 20 20 20 20 20 20 ......'fixed_ips':.[],..........
98a0 20 20 20 20 20 20 20 20 20 20 20 27 69 64 27 3a 20 66 61 6b 65 5f 70 6f 72 74 5f 75 75 69 64 2c ...........'id':.fake_port_uuid,
98c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 73 65 63 75 72 69 74 79 5f 67 .....................'security_g
98e0 72 6f 75 70 73 27 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 27 32 66 roups':.....................['2f
9900 39 32 34 34 62 34 2d 39 62 65 65 2d 34 65 38 31 2d 62 63 34 61 2d 33 66 33 63 32 30 34 35 62 33 9244b4-9bee-4e81-bc4a-3f3c2045b3
9920 64 37 27 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 64 65 76 69 63 d7'],.....................'devic
9940 65 5f 69 64 27 3a 20 27 66 61 6b 65 5f 64 65 76 69 63 65 27 2c 0a 20 20 20 20 20 20 20 20 20 20 e_id':.'fake_device',...........
9960 20 20 20 20 20 20 20 20 20 20 27 6e 61 6d 65 27 3a 20 27 27 2c 0a 20 20 20 20 20 20 20 20 20 20 ..........'name':.'',...........
9980 20 20 20 20 20 20 20 20 20 20 27 61 64 6d 69 6e 5f 73 74 61 74 65 5f 75 70 27 3a 20 54 72 75 65 ..........'admin_state_up':.True
99a0 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 6e 65 74 77 6f 72 6b 5f 69 ,.....................'network_i
99c0 64 27 3a 20 66 61 6b 65 5f 6e 65 74 77 6f 72 6b 5f 75 75 69 64 2c 0a 20 20 20 20 20 20 20 20 20 d':.fake_network_uuid,..........
99e0 20 20 20 20 20 20 20 20 20 20 20 27 74 65 6e 61 6e 74 5f 69 64 27 3a 20 27 74 65 73 74 2d 74 65 ...........'tenant_id':.'test-te
9a00 6e 61 6e 74 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 62 69 6e 64 nant',.....................'bind
9a20 69 6e 67 3a 76 69 66 5f 64 65 74 61 69 6c 73 27 3a 20 7b 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 ing:vif_details':.{},...........
9a40 20 20 20 20 20 20 20 20 20 20 27 62 69 6e 64 69 6e 67 3a 76 6e 69 63 5f 74 79 70 65 27 3a 20 27 ..........'binding:vnic_type':.'
9a60 6e 6f 72 6d 61 6c 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 62 69 normal',.....................'bi
9a80 6e 64 69 6e 67 3a 76 69 66 5f 74 79 70 65 27 3a 20 27 75 6e 62 6f 75 6e 64 27 2c 0a 20 20 20 20 nding:vif_type':.'unbound',.....
9aa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 6d 61 63 5f 61 64 64 72 65 73 73 27 3a 20 27 ................'mac_address':.'
9ac0 31 32 3a 33 34 3a 35 36 20 3a 37 38 3a 32 31 3a 62 36 27 7d 0a 0a 0a 63 6c 61 73 73 20 4f 4e 4f 12:34:56.:78:21:b6'}...class.ONO
9ae0 53 4d 65 63 68 61 6e 69 73 6d 44 72 69 76 65 72 54 65 73 74 43 61 73 65 28 62 61 73 65 2e 42 61 SMechanismDriverTestCase(base.Ba
9b00 73 65 54 65 73 74 43 61 73 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 seTestCase,.....................
9b20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6f 6e 6f 73 5f 6d 6c 32 5f 64 72 69 76 65 72 2e 4f 4e ..............onos_ml2_driver.ON
9b40 4f 53 4d 65 63 68 61 6e 69 73 6d 44 72 69 76 65 72 29 3a 0a 0a 20 20 20 20 64 65 66 20 73 65 74 OSMechanismDriver):......def.set
9b60 55 70 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 73 75 70 65 72 28 4f 4e 4f 53 4d 65 63 68 Up(self):.........super(ONOSMech
9b80 61 6e 69 73 6d 44 72 69 76 65 72 54 65 73 74 43 61 73 65 2c 20 73 65 6c 66 29 2e 73 65 74 55 70 anismDriverTestCase,.self).setUp
9ba0 28 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 73 65 74 5f 74 65 73 74 5f 63 6f 6e 66 69 67 28 ().........self.set_test_config(
9bc0 29 0a 0a 20 20 20 20 64 65 66 20 73 65 74 5f 74 65 73 74 5f 63 6f 6e 66 69 67 28 73 65 6c 66 29 )......def.set_test_config(self)
9be0 3a 0a 20 20 20 20 20 20 20 20 63 66 67 2e 43 4f 4e 46 2e 73 65 74 5f 6f 76 65 72 72 69 64 65 28 :.........cfg.CONF.set_override(
9c00 27 75 72 6c 5f 70 61 74 68 27 2c 20 27 68 74 74 70 3a 2f 2f 31 32 37 2e 30 2e 30 2e 31 3a 31 31 'url_path',.'http://127.0.0.1:11
9c20 31 31 27 2c 20 27 6f 6e 6f 73 27 29 0a 20 20 20 20 20 20 20 20 63 66 67 2e 43 4f 4e 46 2e 73 65 11',.'onos').........cfg.CONF.se
9c40 74 5f 6f 76 65 72 72 69 64 65 28 27 75 73 65 72 6e 61 6d 65 27 2c 20 27 6f 6e 6f 73 5f 75 73 65 t_override('username',.'onos_use
9c60 72 27 2c 20 27 6f 6e 6f 73 27 29 0a 20 20 20 20 20 20 20 20 63 66 67 2e 43 4f 4e 46 2e 73 65 74 r',.'onos').........cfg.CONF.set
9c80 5f 6f 76 65 72 72 69 64 65 28 27 70 61 73 73 77 6f 72 64 27 2c 20 27 61 77 65 73 6f 6d 65 27 2c _override('password',.'awesome',
9ca0 20 27 6f 6e 6f 73 27 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 6f 6e 6f 73 5f 70 61 74 68 20 .'onos').........self.onos_path.
9cc0 3d 20 63 66 67 2e 43 4f 4e 46 2e 6f 6e 6f 73 2e 75 72 6c 5f 70 61 74 68 0a 20 20 20 20 20 20 20 =.cfg.CONF.onos.url_path........
9ce0 20 73 65 6c 66 2e 6f 6e 6f 73 5f 61 75 74 68 20 3d 20 28 63 66 67 2e 43 4f 4e 46 2e 6f 6e 6f 73 .self.onos_auth.=.(cfg.CONF.onos
9d00 2e 75 73 65 72 6e 61 6d 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .username,......................
9d20 20 20 20 20 20 63 66 67 2e 43 4f 4e 46 2e 6f 6e 6f 73 2e 70 61 73 73 77 6f 72 64 29 0a 0a 20 20 .....cfg.CONF.onos.password)....
9d40 20 20 64 65 66 20 5f 6d 6f 63 6b 5f 72 65 71 5f 72 65 73 70 28 73 65 6c 66 2c 20 73 74 61 74 75 ..def._mock_req_resp(self,.statu
9d60 73 5f 63 6f 64 65 29 3a 0a 20 20 20 20 20 20 20 20 72 65 73 70 6f 6e 73 65 20 3d 20 6d 6f 63 6b s_code):.........response.=.mock
9d80 2e 4d 6f 63 6b 28 73 74 61 74 75 73 5f 63 6f 64 65 3d 73 74 61 74 75 73 5f 63 6f 64 65 29 0a 20 .Mock(status_code=status_code)..
9da0 20 20 20 20 20 20 20 72 65 73 70 6f 6e 73 65 2e 72 61 69 73 65 5f 66 6f 72 5f 73 74 61 74 75 73 .......response.raise_for_status
9dc0 20 3d 20 6d 6f 63 6b 2e 4d 6f 63 6b 28 29 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 72 65 .=.mock.Mock().........return.re
9de0 73 70 6f 6e 73 65 0a 0a 20 20 20 20 64 65 66 20 5f 74 65 73 74 5f 72 65 73 70 6f 6e 73 65 28 73 sponse......def._test_response(s
9e00 65 6c 66 2c 20 63 6f 6e 74 65 78 74 2c 20 6f 70 65 72 5f 74 79 70 65 2c 20 6f 62 6a 5f 74 79 70 elf,.context,.oper_type,.obj_typ
9e20 65 2c 20 6d 6f 63 6b 5f 6d 65 74 68 6f 64 29 3a 0a 20 20 20 20 20 20 20 20 62 6f 64 79 20 3d 20 e,.mock_method):.........body.=.
9e40 4e 6f 6e 65 0a 20 20 20 20 20 20 20 20 69 66 20 6f 70 65 72 5f 74 79 70 65 20 69 73 20 6e 6f 74 None.........if.oper_type.is.not
9e60 20 27 64 65 6c 65 74 65 27 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 6e 74 69 74 79 20 3d 20 .'delete':.............entity.=.
9e80 7b 6f 62 6a 5f 74 79 70 65 3a 20 63 6f 6e 74 65 78 74 2e 63 75 72 72 65 6e 74 2e 63 6f 70 79 28 {obj_type:.context.current.copy(
9ea0 29 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 62 6f 64 79 20 3d 20 6a 73 6f 6e 75 74 69 6c 73 2e )}.............body.=.jsonutils.
9ec0 64 75 6d 70 73 28 65 6e 74 69 74 79 2c 20 69 6e 64 65 6e 74 3d 32 29 0a 20 20 20 20 20 20 20 20 dumps(entity,.indent=2).........
9ee0 69 66 20 6f 70 65 72 5f 74 79 70 65 20 3d 3d 20 27 70 6f 73 74 27 3a 0a 20 20 20 20 20 20 20 20 if.oper_type.==.'post':.........
9f00 20 20 20 20 75 72 6c 20 3d 20 27 25 73 2f 25 73 27 20 25 20 28 73 65 6c 66 2e 6f 6e 6f 73 5f 70 ....url.=.'%s/%s'.%.(self.onos_p
9f20 61 74 68 2c 20 6f 62 6a 5f 74 79 70 65 20 2b 20 27 73 27 29 0a 20 20 20 20 20 20 20 20 65 6c 73 ath,.obj_type.+.'s').........els
9f40 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 75 72 6c 20 3d 20 27 25 73 2f 25 73 2f 25 73 27 20 e:.............url.=.'%s/%s/%s'.
9f60 25 20 28 73 65 6c 66 2e 6f 6e 6f 73 5f 70 61 74 68 2c 20 6f 62 6a 5f 74 79 70 65 20 2b 20 27 73 %.(self.onos_path,.obj_type.+.'s
9f80 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ',..............................
9fa0 20 20 20 63 6f 6e 74 65 78 74 2e 63 75 72 72 65 6e 74 5b 27 69 64 27 5d 29 0a 20 20 20 20 20 20 ...context.current['id']).......
9fc0 20 20 6b 77 61 72 67 73 20 3d 20 7b 27 75 72 6c 27 3a 20 75 72 6c 2c 20 27 64 61 74 61 27 3a 20 ..kwargs.=.{'url':.url,.'data':.
9fe0 62 6f 64 79 7d 0a 20 20 20 20 20 20 20 20 6d 6f 63 6b 5f 6d 65 74 68 6f 64 2e 61 73 73 65 72 74 body}.........mock_method.assert
a000 5f 63 61 6c 6c 65 64 5f 6f 6e 63 65 5f 77 69 74 68 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 6d _called_once_with(.............m
a020 65 74 68 6f 64 3d 6f 70 65 72 5f 74 79 70 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 68 65 61 ethod=oper_type,.............hea
a040 64 65 72 73 3d 7b 27 43 6f 6e 74 65 6e 74 2d 54 79 70 65 27 3a 20 27 61 70 70 6c 69 63 61 74 69 ders={'Content-Type':.'applicati
a060 6f 6e 2f 6a 73 6f 6e 27 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 61 75 74 68 3d 73 65 6c 66 on/json'},.............auth=self
a080 2e 6f 6e 6f 73 5f 61 75 74 68 2c 20 2a 2a 6b 77 61 72 67 73 29 0a 0a 20 20 20 20 64 65 66 20 74 .onos_auth,.**kwargs)......def.t
a0a0 65 73 74 5f 63 72 65 61 74 65 5f 6e 65 74 77 6f 72 6b 5f 70 6f 73 74 63 6f 6d 6d 69 74 28 73 65 est_create_network_postcommit(se
a0c0 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 63 6f 6e 74 65 78 74 20 3d 20 6d 6f 63 6b 2e 4d 6f 63 6b lf):.........context.=.mock.Mock
a0e0 28 63 75 72 72 65 6e 74 3d 66 61 6b 65 5f 6e 65 74 77 6f 72 6b 5f 6f 62 6a 65 63 74 29 0a 20 20 (current=fake_network_object)...
a100 20 20 20 20 20 20 72 65 73 70 20 3d 20 73 65 6c 66 2e 5f 6d 6f 63 6b 5f 72 65 71 5f 72 65 73 70 ......resp.=.self._mock_req_resp
a120 28 72 65 71 75 65 73 74 73 2e 63 6f 64 65 73 2e 63 72 65 61 74 65 64 29 0a 20 20 20 20 20 20 20 (requests.codes.created)........
a140 20 77 69 74 68 20 6d 6f 63 6b 2e 70 61 74 63 68 28 27 72 65 71 75 65 73 74 73 2e 72 65 71 75 65 .with.mock.patch('requests.reque
a160 73 74 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 st',.........................ret
a180 75 72 6e 5f 76 61 6c 75 65 3d 72 65 73 70 29 20 61 73 20 6d 6f 63 6b 5f 6d 65 74 68 6f 64 3a 0a urn_value=resp).as.mock_method:.
a1a0 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 63 72 65 61 74 65 5f 6e 65 74 77 6f 72 6b 5f ............self.create_network_
a1c0 70 6f 73 74 63 6f 6d 6d 69 74 28 63 6f 6e 74 65 78 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 postcommit(context).............
a1e0 73 65 6c 66 2e 5f 74 65 73 74 5f 72 65 73 70 6f 6e 73 65 28 63 6f 6e 74 65 78 74 2c 20 27 70 6f self._test_response(context,.'po
a200 73 74 27 2c 20 27 6e 65 74 77 6f 72 6b 27 2c 20 6d 6f 63 6b 5f 6d 65 74 68 6f 64 29 0a 0a 20 20 st',.'network',.mock_method)....
a220 20 20 64 65 66 20 74 65 73 74 5f 75 70 64 61 74 65 5f 6e 65 74 77 6f 72 6b 5f 70 6f 73 74 63 6f ..def.test_update_network_postco
a240 6d 6d 69 74 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 63 6f 6e 74 65 78 74 20 3d 20 6d 6f mmit(self):.........context.=.mo
a260 63 6b 2e 4d 6f 63 6b 28 63 75 72 72 65 6e 74 3d 66 61 6b 65 5f 6e 65 74 77 6f 72 6b 5f 6f 62 6a ck.Mock(current=fake_network_obj
a280 65 63 74 29 0a 20 20 20 20 20 20 20 20 72 65 73 70 20 3d 20 73 65 6c 66 2e 5f 6d 6f 63 6b 5f 72 ect).........resp.=.self._mock_r
a2a0 65 71 5f 72 65 73 70 28 72 65 71 75 65 73 74 73 2e 63 6f 64 65 73 2e 63 72 65 61 74 65 64 29 0a eq_resp(requests.codes.created).
a2c0 20 20 20 20 20 20 20 20 77 69 74 68 20 6d 6f 63 6b 2e 70 61 74 63 68 28 27 72 65 71 75 65 73 74 ........with.mock.patch('request
a2e0 73 2e 72 65 71 75 65 73 74 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 s.request',.....................
a300 20 20 20 20 72 65 74 75 72 6e 5f 76 61 6c 75 65 3d 72 65 73 70 29 20 61 73 20 6d 6f 63 6b 5f 6d ....return_value=resp).as.mock_m
a320 65 74 68 6f 64 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 75 70 64 61 74 65 5f 6e ethod:.............self.update_n
a340 65 74 77 6f 72 6b 5f 70 6f 73 74 63 6f 6d 6d 69 74 28 63 6f 6e 74 65 78 74 29 0a 20 20 20 20 20 etwork_postcommit(context)......
a360 20 20 20 20 20 20 20 73 65 6c 66 2e 5f 74 65 73 74 5f 72 65 73 70 6f 6e 73 65 28 63 6f 6e 74 65 .......self._test_response(conte
a380 78 74 2c 20 27 70 75 74 27 2c 20 27 6e 65 74 77 6f 72 6b 27 2c 20 6d 6f 63 6b 5f 6d 65 74 68 6f xt,.'put',.'network',.mock_metho
a3a0 64 29 0a 0a 20 20 20 20 64 65 66 20 74 65 73 74 5f 64 65 6c 65 74 65 5f 6e 65 74 77 6f 72 6b 5f d)......def.test_delete_network_
a3c0 70 6f 73 74 63 6f 6d 6d 69 74 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 63 6f 6e 74 65 78 postcommit(self):.........contex
a3e0 74 20 3d 20 6d 6f 63 6b 2e 4d 6f 63 6b 28 63 75 72 72 65 6e 74 3d 7b 27 69 64 27 3a 20 66 61 6b t.=.mock.Mock(current={'id':.fak
a400 65 5f 6e 65 74 77 6f 72 6b 5f 75 75 69 64 7d 29 0a 20 20 20 20 20 20 20 20 72 65 73 70 20 3d 20 e_network_uuid}).........resp.=.
a420 73 65 6c 66 2e 5f 6d 6f 63 6b 5f 72 65 71 5f 72 65 73 70 28 72 65 71 75 65 73 74 73 2e 63 6f 64 self._mock_req_resp(requests.cod
a440 65 73 2e 63 72 65 61 74 65 64 29 0a 20 20 20 20 20 20 20 20 77 69 74 68 20 6d 6f 63 6b 2e 70 61 es.created).........with.mock.pa
a460 74 63 68 28 27 72 65 71 75 65 73 74 73 2e 72 65 71 75 65 73 74 27 2c 0a 20 20 20 20 20 20 20 20 tch('requests.request',.........
a480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 5f 76 61 6c 75 65 3d 72 65 73 ................return_value=res
a4a0 70 29 20 61 73 20 6d 6f 63 6b 5f 6d 65 74 68 6f 64 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 p).as.mock_method:.............s
a4c0 65 6c 66 2e 64 65 6c 65 74 65 5f 6e 65 74 77 6f 72 6b 5f 70 6f 73 74 63 6f 6d 6d 69 74 28 63 6f elf.delete_network_postcommit(co
a4e0 6e 74 65 78 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 5f 74 65 73 74 5f 72 65 ntext).............self._test_re
a500 73 70 6f 6e 73 65 28 63 6f 6e 74 65 78 74 2c 20 27 64 65 6c 65 74 65 27 2c 20 27 6e 65 74 77 6f sponse(context,.'delete',.'netwo
a520 72 6b 27 2c 20 6d 6f 63 6b 5f 6d 65 74 68 6f 64 29 0a 0a 20 20 20 20 64 65 66 20 74 65 73 74 5f rk',.mock_method)......def.test_
a540 63 72 65 61 74 65 5f 73 75 62 6e 65 74 5f 70 6f 73 74 63 6f 6d 6d 69 74 28 73 65 6c 66 29 3a 0a create_subnet_postcommit(self):.
a560 20 20 20 20 20 20 20 20 63 6f 6e 74 65 78 74 20 3d 20 6d 6f 63 6b 2e 4d 6f 63 6b 28 63 75 72 72 ........context.=.mock.Mock(curr
a580 65 6e 74 3d 66 61 6b 65 5f 73 75 62 6e 65 74 5f 6f 62 6a 65 63 74 29 0a 20 20 20 20 20 20 20 20 ent=fake_subnet_object).........
a5a0 72 65 73 70 20 3d 20 73 65 6c 66 2e 5f 6d 6f 63 6b 5f 72 65 71 5f 72 65 73 70 28 72 65 71 75 65 resp.=.self._mock_req_resp(reque
a5c0 73 74 73 2e 63 6f 64 65 73 2e 63 72 65 61 74 65 64 29 0a 20 20 20 20 20 20 20 20 77 69 74 68 20 sts.codes.created).........with.
a5e0 6d 6f 63 6b 2e 70 61 74 63 68 28 27 72 65 71 75 65 73 74 73 2e 72 65 71 75 65 73 74 27 2c 0a 20 mock.patch('requests.request',..
a600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 5f 76 61 .......................return_va
a620 6c 75 65 3d 72 65 73 70 29 20 61 73 20 6d 6f 63 6b 5f 6d 65 74 68 6f 64 3a 0a 20 20 20 20 20 20 lue=resp).as.mock_method:.......
a640 20 20 20 20 20 20 73 65 6c 66 2e 63 72 65 61 74 65 5f 73 75 62 6e 65 74 5f 70 6f 73 74 63 6f 6d ......self.create_subnet_postcom
a660 6d 69 74 28 63 6f 6e 74 65 78 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 5f 74 mit(context).............self._t
a680 65 73 74 5f 72 65 73 70 6f 6e 73 65 28 63 6f 6e 74 65 78 74 2c 20 27 70 6f 73 74 27 2c 20 27 73 est_response(context,.'post',.'s
a6a0 75 62 6e 65 74 27 2c 20 6d 6f 63 6b 5f 6d 65 74 68 6f 64 29 0a 0a 20 20 20 20 64 65 66 20 74 65 ubnet',.mock_method)......def.te
a6c0 73 74 5f 75 70 64 61 74 65 5f 73 75 62 6e 65 74 5f 70 6f 73 74 63 6f 6d 6d 69 74 28 73 65 6c 66 st_update_subnet_postcommit(self
a6e0 29 3a 0a 20 20 20 20 20 20 20 20 63 6f 6e 74 65 78 74 20 3d 20 6d 6f 63 6b 2e 4d 6f 63 6b 28 63 ):.........context.=.mock.Mock(c
a700 75 72 72 65 6e 74 3d 66 61 6b 65 5f 73 75 62 6e 65 74 5f 6f 62 6a 65 63 74 29 0a 20 20 20 20 20 urrent=fake_subnet_object)......
a720 20 20 20 72 65 73 70 20 3d 20 73 65 6c 66 2e 5f 6d 6f 63 6b 5f 72 65 71 5f 72 65 73 70 28 72 65 ...resp.=.self._mock_req_resp(re
a740 71 75 65 73 74 73 2e 63 6f 64 65 73 2e 63 72 65 61 74 65 64 29 0a 20 20 20 20 20 20 20 20 77 69 quests.codes.created).........wi
a760 74 68 20 6d 6f 63 6b 2e 70 61 74 63 68 28 27 72 65 71 75 65 73 74 73 2e 72 65 71 75 65 73 74 27 th.mock.patch('requests.request'
a780 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e ,.........................return
a7a0 5f 76 61 6c 75 65 3d 72 65 73 70 29 20 61 73 20 6d 6f 63 6b 5f 6d 65 74 68 6f 64 3a 0a 20 20 20 _value=resp).as.mock_method:....
a7c0 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 75 70 64 61 74 65 5f 73 75 62 6e 65 74 5f 70 6f 73 74 .........self.update_subnet_post
a7e0 63 6f 6d 6d 69 74 28 63 6f 6e 74 65 78 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 commit(context).............self
a800 2e 5f 74 65 73 74 5f 72 65 73 70 6f 6e 73 65 28 63 6f 6e 74 65 78 74 2c 20 27 70 75 74 27 2c 20 ._test_response(context,.'put',.
a820 27 73 75 62 6e 65 74 27 2c 20 6d 6f 63 6b 5f 6d 65 74 68 6f 64 29 0a 0a 20 20 20 20 64 65 66 20 'subnet',.mock_method)......def.
a840 74 65 73 74 5f 64 65 6c 65 74 65 5f 73 75 62 6e 65 74 5f 70 6f 73 74 63 6f 6d 6d 69 74 28 73 65 test_delete_subnet_postcommit(se
a860 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 63 6f 6e 74 65 78 74 20 3d 20 6d 6f 63 6b 2e 4d 6f 63 6b lf):.........context.=.mock.Mock
a880 28 63 75 72 72 65 6e 74 3d 7b 27 69 64 27 3a 20 66 61 6b 65 5f 73 75 62 6e 65 74 5f 75 75 69 64 (current={'id':.fake_subnet_uuid
a8a0 7d 29 0a 20 20 20 20 20 20 20 20 72 65 73 70 20 3d 20 73 65 6c 66 2e 5f 6d 6f 63 6b 5f 72 65 71 }).........resp.=.self._mock_req
a8c0 5f 72 65 73 70 28 72 65 71 75 65 73 74 73 2e 63 6f 64 65 73 2e 63 72 65 61 74 65 64 29 0a 20 20 _resp(requests.codes.created)...
a8e0 20 20 20 20 20 20 77 69 74 68 20 6d 6f 63 6b 2e 70 61 74 63 68 28 27 72 65 71 75 65 73 74 73 2e ......with.mock.patch('requests.
a900 72 65 71 75 65 73 74 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 request',.......................
a920 20 20 72 65 74 75 72 6e 5f 76 61 6c 75 65 3d 72 65 73 70 29 20 61 73 20 6d 6f 63 6b 5f 6d 65 74 ..return_value=resp).as.mock_met
a940 68 6f 64 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 64 65 6c 65 74 65 5f 73 75 62 hod:.............self.delete_sub
a960 6e 65 74 5f 70 6f 73 74 63 6f 6d 6d 69 74 28 63 6f 6e 74 65 78 74 29 0a 20 20 20 20 20 20 20 20 net_postcommit(context).........
a980 20 20 20 20 73 65 6c 66 2e 5f 74 65 73 74 5f 72 65 73 70 6f 6e 73 65 28 63 6f 6e 74 65 78 74 2c ....self._test_response(context,
a9a0 20 27 64 65 6c 65 74 65 27 2c 20 27 73 75 62 6e 65 74 27 2c 20 6d 6f 63 6b 5f 6d 65 74 68 6f 64 .'delete',.'subnet',.mock_method
a9c0 29 0a 0a 20 20 20 20 64 65 66 20 74 65 73 74 5f 63 72 65 61 74 65 5f 70 6f 72 74 5f 70 6f 73 74 )......def.test_create_port_post
a9e0 63 6f 6d 6d 69 74 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 63 6f 6e 74 65 78 74 20 3d 20 commit(self):.........context.=.
aa00 6d 6f 63 6b 2e 4d 6f 63 6b 28 63 75 72 72 65 6e 74 3d 66 61 6b 65 5f 70 6f 72 74 5f 6f 62 6a 65 mock.Mock(current=fake_port_obje
aa20 63 74 29 0a 20 20 20 20 20 20 20 20 72 65 73 70 20 3d 20 73 65 6c 66 2e 5f 6d 6f 63 6b 5f 72 65 ct).........resp.=.self._mock_re
aa40 71 5f 72 65 73 70 28 72 65 71 75 65 73 74 73 2e 63 6f 64 65 73 2e 63 72 65 61 74 65 64 29 0a 20 q_resp(requests.codes.created)..
aa60 20 20 20 20 20 20 20 77 69 74 68 20 6d 6f 63 6b 2e 70 61 74 63 68 28 27 72 65 71 75 65 73 74 73 .......with.mock.patch('requests
aa80 2e 72 65 71 75 65 73 74 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .request',......................
aaa0 20 20 20 72 65 74 75 72 6e 5f 76 61 6c 75 65 3d 72 65 73 70 29 20 61 73 20 6d 6f 63 6b 5f 6d 65 ...return_value=resp).as.mock_me
aac0 74 68 6f 64 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 63 72 65 61 74 65 5f 70 6f thod:.............self.create_po
aae0 72 74 5f 70 6f 73 74 63 6f 6d 6d 69 74 28 63 6f 6e 74 65 78 74 29 0a 20 20 20 20 20 20 20 20 20 rt_postcommit(context)..........
ab00 20 20 20 73 65 6c 66 2e 5f 74 65 73 74 5f 72 65 73 70 6f 6e 73 65 28 63 6f 6e 74 65 78 74 2c 20 ...self._test_response(context,.
ab20 27 70 6f 73 74 27 2c 20 27 70 6f 72 74 27 2c 20 6d 6f 63 6b 5f 6d 65 74 68 6f 64 29 0a 0a 20 20 'post',.'port',.mock_method)....
ab40 20 20 64 65 66 20 74 65 73 74 5f 75 70 64 61 74 65 5f 70 6f 72 74 5f 70 6f 73 74 63 6f 6d 6d 69 ..def.test_update_port_postcommi
ab60 74 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 63 6f 6e 74 65 78 74 20 3d 20 6d 6f 63 6b 2e t(self):.........context.=.mock.
ab80 4d 6f 63 6b 28 63 75 72 72 65 6e 74 3d 66 61 6b 65 5f 70 6f 72 74 5f 6f 62 6a 65 63 74 29 0a 20 Mock(current=fake_port_object)..
aba0 20 20 20 20 20 20 20 72 65 73 70 20 3d 20 73 65 6c 66 2e 5f 6d 6f 63 6b 5f 72 65 71 5f 72 65 73 .......resp.=.self._mock_req_res
abc0 70 28 72 65 71 75 65 73 74 73 2e 63 6f 64 65 73 2e 63 72 65 61 74 65 64 29 0a 20 20 20 20 20 20 p(requests.codes.created).......
abe0 20 20 77 69 74 68 20 6d 6f 63 6b 2e 70 61 74 63 68 28 27 72 65 71 75 65 73 74 73 2e 72 65 71 75 ..with.mock.patch('requests.requ
ac00 65 73 74 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 est',.........................re
ac20 74 75 72 6e 5f 76 61 6c 75 65 3d 72 65 73 70 29 20 61 73 20 6d 6f 63 6b 5f 6d 65 74 68 6f 64 3a turn_value=resp).as.mock_method:
ac40 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 75 70 64 61 74 65 5f 70 6f 72 74 5f 70 6f .............self.update_port_po
ac60 73 74 63 6f 6d 6d 69 74 28 63 6f 6e 74 65 78 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 stcommit(context).............se
ac80 6c 66 2e 5f 74 65 73 74 5f 72 65 73 70 6f 6e 73 65 28 63 6f 6e 74 65 78 74 2c 20 27 70 75 74 27 lf._test_response(context,.'put'
aca0 2c 20 27 70 6f 72 74 27 2c 20 6d 6f 63 6b 5f 6d 65 74 68 6f 64 29 0a 0a 20 20 20 20 64 65 66 20 ,.'port',.mock_method)......def.
acc0 74 65 73 74 5f 64 65 6c 65 74 65 5f 70 6f 72 74 5f 70 6f 73 74 63 6f 6d 6d 69 74 28 73 65 6c 66 test_delete_port_postcommit(self
ace0 29 3a 0a 20 20 20 20 20 20 20 20 63 6f 6e 74 65 78 74 20 3d 20 6d 6f 63 6b 2e 4d 6f 63 6b 28 63 ):.........context.=.mock.Mock(c
ad00 75 72 72 65 6e 74 3d 7b 27 69 64 27 3a 20 66 61 6b 65 5f 70 6f 72 74 5f 75 75 69 64 7d 29 0a 20 urrent={'id':.fake_port_uuid})..
ad20 20 20 20 20 20 20 20 72 65 73 70 20 3d 20 73 65 6c 66 2e 5f 6d 6f 63 6b 5f 72 65 71 5f 72 65 73 .......resp.=.self._mock_req_res
ad40 70 28 72 65 71 75 65 73 74 73 2e 63 6f 64 65 73 2e 63 72 65 61 74 65 64 29 0a 20 20 20 20 20 20 p(requests.codes.created).......
ad60 20 20 77 69 74 68 20 6d 6f 63 6b 2e 70 61 74 63 68 28 27 72 65 71 75 65 73 74 73 2e 72 65 71 75 ..with.mock.patch('requests.requ
ad80 65 73 74 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 est',.........................re
ada0 74 75 72 6e 5f 76 61 6c 75 65 3d 72 65 73 70 29 20 61 73 20 6d 6f 63 6b 5f 6d 65 74 68 6f 64 3a turn_value=resp).as.mock_method:
adc0 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 64 65 6c 65 74 65 5f 70 6f 72 74 5f 70 6f .............self.delete_port_po
ade0 73 74 63 6f 6d 6d 69 74 28 63 6f 6e 74 65 78 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 stcommit(context).............se
ae00 6c 66 2e 5f 74 65 73 74 5f 72 65 73 70 6f 6e 73 65 28 63 6f 6e 74 65 78 74 2c 20 27 64 65 6c 65 lf._test_response(context,.'dele
ae20 74 65 27 2c 20 27 70 6f 72 74 27 2c 20 6d 6f 63 6b 5f 6d 65 74 68 6f 64 29 0a 0a 20 20 20 20 23 te',.'port',.mock_method)......#
ae40 20 67 69 76 65 6e 20 76 61 6c 69 64 20 20 61 6e 64 20 69 6e 76 61 6c 69 64 20 73 65 67 6d 65 6e .given.valid..and.invalid.segmen
ae60 74 73 0a 20 20 20 20 76 61 6c 69 64 5f 73 65 67 6d 65 6e 74 20 3d 20 7b 0a 20 20 20 20 20 20 20 ts.....valid_segment.=.{........
ae80 20 61 70 69 2e 49 44 3a 20 27 41 50 49 5f 49 44 27 2c 0a 20 20 20 20 20 20 20 20 61 70 69 2e 4e .api.ID:.'API_ID',.........api.N
aea0 45 54 57 4f 52 4b 5f 54 59 50 45 3a 20 63 6f 6e 73 74 61 6e 74 73 2e 54 59 50 45 5f 4c 4f 43 41 ETWORK_TYPE:.constants.TYPE_LOCA
aec0 4c 2c 0a 20 20 20 20 20 20 20 20 61 70 69 2e 53 45 47 4d 45 4e 54 41 54 49 4f 4e 5f 49 44 3a 20 L,.........api.SEGMENTATION_ID:.
aee0 27 41 50 49 5f 53 45 47 4d 45 4e 54 41 54 49 4f 4e 5f 49 44 27 2c 0a 20 20 20 20 20 20 20 20 61 'API_SEGMENTATION_ID',.........a
af00 70 69 2e 50 48 59 53 49 43 41 4c 5f 4e 45 54 57 4f 52 4b 3a 20 27 41 50 49 5f 50 48 59 53 49 43 pi.PHYSICAL_NETWORK:.'API_PHYSIC
af20 41 4c 5f 4e 45 54 57 4f 52 4b 27 7d 0a 0a 20 20 20 20 69 6e 76 61 6c 69 64 5f 73 65 67 6d 65 6e AL_NETWORK'}......invalid_segmen
af40 74 20 3d 20 7b 0a 20 20 20 20 20 20 20 20 61 70 69 2e 49 44 3a 20 27 41 50 49 5f 49 44 27 2c 0a t.=.{.........api.ID:.'API_ID',.
af60 20 20 20 20 20 20 20 20 61 70 69 2e 4e 45 54 57 4f 52 4b 5f 54 59 50 45 3a 20 63 6f 6e 73 74 61 ........api.NETWORK_TYPE:.consta
af80 6e 74 73 2e 54 59 50 45 5f 4e 4f 4e 45 2c 0a 20 20 20 20 20 20 20 20 61 70 69 2e 53 45 47 4d 45 nts.TYPE_NONE,.........api.SEGME
afa0 4e 54 41 54 49 4f 4e 5f 49 44 3a 20 27 41 50 49 5f 53 45 47 4d 45 4e 54 41 54 49 4f 4e 5f 49 44 NTATION_ID:.'API_SEGMENTATION_ID
afc0 27 2c 0a 20 20 20 20 20 20 20 20 61 70 69 2e 50 48 59 53 49 43 41 4c 5f 4e 45 54 57 4f 52 4b 3a ',.........api.PHYSICAL_NETWORK:
afe0 20 27 41 50 49 5f 50 48 59 53 49 43 41 4c 5f 4e 45 54 57 4f 52 4b 27 7d 0a 0a 20 20 20 20 64 65 .'API_PHYSICAL_NETWORK'}......de
b000 66 20 74 65 73 74 5f 63 68 65 63 6b 5f 73 65 67 6d 65 6e 74 28 73 65 6c 66 29 3a 0a 20 20 20 20 f.test_check_segment(self):.....
b020 20 20 20 20 22 22 22 56 61 6c 69 64 61 74 65 20 74 68 65 20 63 68 65 63 6b 5f 73 65 67 6d 65 6e ...."""Validate.the.check_segmen
b040 74 20 6d 65 74 68 6f 64 2e 22 22 22 0a 0a 20 20 20 20 20 20 20 20 23 20 67 69 76 65 6e 20 64 72 t.method."""..........#.given.dr
b060 69 76 65 72 20 61 6e 64 20 61 6c 6c 20 6e 65 74 77 6f 72 6b 20 74 79 70 65 73 0a 20 20 20 20 20 iver.and.all.network.types......
b080 20 20 20 61 6c 6c 5f 6e 65 74 77 6f 72 6b 5f 74 79 70 65 73 20 3d 20 5b 63 6f 6e 73 74 61 6e 74 ...all_network_types.=.[constant
b0a0 73 2e 54 59 50 45 5f 46 4c 41 54 2c 20 63 6f 6e 73 74 61 6e 74 73 2e 54 59 50 45 5f 47 52 45 2c s.TYPE_FLAT,.constants.TYPE_GRE,
b0c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f ..............................co
b0e0 6e 73 74 61 6e 74 73 2e 54 59 50 45 5f 4c 4f 43 41 4c 2c 20 63 6f 6e 73 74 61 6e 74 73 2e 54 59 nstants.TYPE_LOCAL,.constants.TY
b100 50 45 5f 56 58 4c 41 4e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 PE_VXLAN,.......................
b120 20 20 20 20 20 20 20 63 6f 6e 73 74 61 6e 74 73 2e 54 59 50 45 5f 56 4c 41 4e 2c 20 63 6f 6e 73 .......constants.TYPE_VLAN,.cons
b140 74 61 6e 74 73 2e 54 59 50 45 5f 4e 4f 4e 45 5d 0a 0a 20 20 20 20 20 20 20 20 23 20 77 68 65 6e tants.TYPE_NONE]..........#.when
b160 20 63 68 65 63 6b 69 6e 67 20 73 65 67 6d 65 6e 74 73 20 6e 65 74 77 6f 72 6b 20 74 79 70 65 0a .checking.segments.network.type.
b180 20 20 20 20 20 20 20 20 76 61 6c 69 64 5f 74 79 70 65 73 20 3d 20 7b 6e 65 74 77 6f 72 6b 5f 74 ........valid_types.=.{network_t
b1a0 79 70 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 6e ype........................for.n
b1c0 65 74 77 6f 72 6b 5f 74 79 70 65 20 69 6e 20 61 6c 6c 5f 6e 65 74 77 6f 72 6b 5f 74 79 70 65 73 etwork_type.in.all_network_types
b1e0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 73 65 6c 66 2e ........................if.self.
b200 63 68 65 63 6b 5f 73 65 67 6d 65 6e 74 28 7b 61 70 69 2e 4e 45 54 57 4f 52 4b 5f 54 59 50 45 3a check_segment({api.NETWORK_TYPE:
b220 20 6e 65 74 77 6f 72 6b 5f 74 79 70 65 7d 29 7d 0a 0a 20 20 20 20 20 20 20 20 23 20 74 68 65 6e .network_type})}..........#.then
b240 20 74 72 75 65 20 69 73 20 72 65 74 75 72 6e 65 64 20 6f 6e 6c 79 20 66 6f 72 20 76 61 6c 69 64 .true.is.returned.only.for.valid
b260 20 6e 65 74 77 6f 72 6b 20 74 79 70 65 73 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 73 73 65 .network.types.........self.asse
b280 72 74 45 71 75 61 6c 28 7b 63 6f 6e 73 74 61 6e 74 73 2e 54 59 50 45 5f 4c 4f 43 41 4c 2c 20 63 rtEqual({constants.TYPE_LOCAL,.c
b2a0 6f 6e 73 74 61 6e 74 73 2e 54 59 50 45 5f 47 52 45 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 onstants.TYPE_GRE,..............
b2c0 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 61 6e 74 73 2e 54 59 50 45 5f 56 58 4c 41 .............constants.TYPE_VXLA
b2e0 4e 2c 20 63 6f 6e 73 74 61 6e 74 73 2e 54 59 50 45 5f 56 4c 41 4e 7d 2c 0a 20 20 20 20 20 20 20 N,.constants.TYPE_VLAN},........
b300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 6c 69 64 5f 74 79 70 65 73 29 0a 0a ..................valid_types)..
b320 20 20 20 20 64 65 66 20 74 65 73 74 5f 62 69 6e 64 5f 70 6f 72 74 28 73 65 6c 66 29 3a 0a 20 20 ....def.test_bind_port(self):...
b340 20 20 20 20 20 20 73 65 6c 66 2e 76 69 66 5f 74 79 70 65 20 3d 20 22 4d 59 5f 56 49 46 5f 54 59 ......self.vif_type.=."MY_VIF_TY
b360 50 45 22 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 76 69 66 5f 64 65 74 61 69 6c 73 20 3d 20 22 PE".........self.vif_details.=."
b380 4d 59 5f 56 49 46 5f 44 45 54 41 49 4c 53 22 0a 20 20 20 20 20 20 20 20 6e 65 74 77 6f 72 6b 20 MY_VIF_DETAILS".........network.
b3a0 3d 20 6d 6f 63 6b 2e 4d 61 67 69 63 4d 6f 63 6b 28 73 70 65 63 3d 61 70 69 2e 4e 65 74 77 6f 72 =.mock.MagicMock(spec=api.Networ
b3c0 6b 43 6f 6e 74 65 78 74 29 0a 20 20 20 20 20 20 20 20 70 6f 72 74 5f 63 6f 6e 74 65 78 74 20 3d kContext).........port_context.=
b3e0 20 6d 6f 63 6b 2e 4d 61 67 69 63 4d 6f 63 6b 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 70 65 .mock.MagicMock(.............spe
b400 63 3d 63 74 78 2e 50 6f 72 74 43 6f 6e 74 65 78 74 2c 20 63 75 72 72 65 6e 74 3d 7b 27 69 64 27 c=ctx.PortContext,.current={'id'
b420 3a 20 27 43 55 52 52 45 4e 54 5f 43 4f 4e 54 45 58 54 5f 49 44 27 7d 2c 0a 20 20 20 20 20 20 20 :.'CURRENT_CONTEXT_ID'},........
b440 20 20 20 20 20 73 65 67 6d 65 6e 74 73 5f 74 6f 5f 62 69 6e 64 3d 5b 73 65 6c 66 2e 76 61 6c 69 .....segments_to_bind=[self.vali
b460 64 5f 73 65 67 6d 65 6e 74 2c 20 73 65 6c 66 2e 69 6e 76 61 6c 69 64 5f 73 65 67 6d 65 6e 74 5d d_segment,.self.invalid_segment]
b480 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 6e 65 74 77 6f 72 6b 3d 6e 65 74 77 6f 72 6b 29 0a 0a ,.............network=network)..
b4a0 20 20 20 20 20 20 20 20 23 20 77 68 65 6e 20 70 6f 72 74 20 69 73 20 62 6f 75 6e 64 0a 20 20 20 ........#.when.port.is.bound....
b4c0 20 20 20 20 20 73 65 6c 66 2e 62 69 6e 64 5f 70 6f 72 74 28 70 6f 72 74 5f 63 6f 6e 74 65 78 74 .....self.bind_port(port_context
b4e0 29 0a 0a 20 20 20 20 20 20 20 20 23 20 74 68 65 6e 20 63 6f 6e 74 65 78 74 20 62 69 6e 64 69 6e )..........#.then.context.bindin
b500 67 20 69 73 20 73 65 74 75 70 20 77 69 74 68 20 72 65 74 75 72 6e 65 64 20 76 69 66 5f 74 79 70 g.is.setup.with.returned.vif_typ
b520 65 20 61 6e 64 20 76 61 6c 69 64 0a 20 20 20 20 20 20 20 20 23 20 73 65 67 6d 65 6e 74 20 61 70 e.and.valid.........#.segment.ap
b540 69 20 49 44 0a 20 20 20 20 20 20 20 20 70 6f 72 74 5f 63 6f 6e 74 65 78 74 2e 73 65 74 5f 62 69 i.ID.........port_context.set_bi
b560 6e 64 69 6e 67 2e 61 73 73 65 72 74 5f 63 61 6c 6c 65 64 5f 6f 6e 63 65 5f 77 69 74 68 28 0a 20 nding.assert_called_once_with(..
b580 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 76 61 6c 69 64 5f 73 65 67 6d 65 6e 74 5b 61 70 ...........self.valid_segment[ap
b5a0 69 2e 49 44 5d 2c 20 73 65 6c 66 2e 76 69 66 5f 74 79 70 65 2c 0a 20 20 20 20 20 20 20 20 20 20 i.ID],.self.vif_type,...........
b5c0 20 20 73 65 6c 66 2e 76 69 66 5f 64 65 74 61 69 6c 73 2c 20 73 74 61 74 75 73 3d 6e 5f 63 6f 6e ..self.vif_details,.status=n_con
b5e0 73 74 2e 50 4f 52 54 5f 53 54 41 54 55 53 5f 41 43 54 49 56 45 29 0a 00 00 00 00 00 00 00 00 00 st.PORT_STATUS_ACTIVE)..........
b600 6e 65 74 77 6f 72 6b 69 6e 67 2d 6f 6e 6f 73 2f 6e 65 74 77 6f 72 6b 69 6e 67 5f 6f 6e 6f 73 2f networking-onos/networking_onos/
b620 74 65 73 74 73 2f 75 6e 69 74 2f 70 6c 75 67 69 6e 73 2f 6d 6c 32 2f 5f 5f 69 6e 69 74 5f 5f 2e tests/unit/plugins/ml2/__init__.
b640 70 79 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 py..............................
b660 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000644.0001750.0001750.0000
b680 30 30 30 30 30 30 30 00 31 32 36 32 37 35 31 33 34 34 32 00 30 32 34 35 36 35 00 20 30 00 00 00 0000000.12627513442.024565..0...
b6a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b6c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b6e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b700 00 75 73 74 61 72 20 20 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...onos...................
b720 00 00 00 00 00 00 00 00 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........onos...................
b740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b800 6e 65 74 77 6f 72 6b 69 6e 67 2d 6f 6e 6f 73 2f 6e 65 74 77 6f 72 6b 69 6e 67 5f 6f 6e 6f 73 2f networking-onos/networking_onos/
b820 74 65 73 74 73 2f 75 6e 69 74 2f 70 6c 75 67 69 6e 73 2f 6c 33 2f 00 00 00 00 00 00 00 00 00 00 tests/unit/plugins/l3/..........
b840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b860 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000755.0001750.0001750.0000
b880 30 30 30 30 30 30 30 00 31 32 36 32 37 35 31 33 34 34 32 00 30 32 32 33 31 32 00 20 35 00 00 00 0000000.12627513442.022312..5...
b8a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b900 00 75 73 74 61 72 20 20 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...onos...................
b920 00 00 00 00 00 00 00 00 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........onos...................
b940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b9a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b9c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b9e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ba00 6e 65 74 77 6f 72 6b 69 6e 67 2d 6f 6e 6f 73 2f 6e 65 74 77 6f 72 6b 69 6e 67 5f 6f 6e 6f 73 2f networking-onos/networking_onos/
ba20 74 65 73 74 73 2f 75 6e 69 74 2f 70 6c 75 67 69 6e 73 2f 6c 33 2f 74 65 73 74 5f 64 72 69 76 65 tests/unit/plugins/l3/test_drive
ba40 72 2e 70 79 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 r.py............................
ba60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000644.0001750.0001750.0000
ba80 30 30 32 34 37 30 37 00 31 32 36 32 37 35 31 33 34 34 32 00 30 32 35 32 33 30 00 20 30 00 00 00 0024707.12627513442.025230..0...
baa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bb00 00 75 73 74 61 72 20 20 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...onos...................
bb20 00 00 00 00 00 00 00 00 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........onos...................
bb40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bb60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bb80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bbc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bbe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bc00 23 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 31 35 20 48 75 61 77 65 69 20 54 65 63 68 #.Copyright.(C).2015.Huawei.Tech
bc20 6e 6f 6c 6f 67 69 65 73 20 49 6e 64 69 61 20 50 76 74 20 4c 74 64 2e 0a 23 20 41 6c 6c 20 52 69 nologies.India.Pvt.Ltd..#.All.Ri
bc40 67 68 74 73 20 52 65 73 65 72 76 65 64 2e 0a 23 0a 23 20 20 4c 69 63 65 6e 73 65 64 20 75 6e 64 ghts.Reserved..#.#..Licensed.und
bc60 65 72 20 74 68 65 20 41 70 61 63 68 65 20 4c 69 63 65 6e 73 65 2c 20 56 65 72 73 69 6f 6e 20 32 er.the.Apache.License,.Version.2
bc80 2e 30 20 28 74 68 65 20 22 4c 69 63 65 6e 73 65 22 29 3b 20 79 6f 75 20 6d 61 79 0a 23 20 20 6e .0.(the."License");.you.may.#..n
bca0 6f 74 20 75 73 65 20 74 68 69 73 20 66 69 6c 65 20 65 78 63 65 70 74 20 69 6e 20 63 6f 6d 70 6c ot.use.this.file.except.in.compl
bcc0 69 61 6e 63 65 20 77 69 74 68 20 74 68 65 20 4c 69 63 65 6e 73 65 2e 20 59 6f 75 20 6d 61 79 20 iance.with.the.License..You.may.
bce0 6f 62 74 61 69 6e 0a 23 20 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 65 20 obtain.#..a.copy.of.the.License.
bd00 61 74 0a 23 0a 23 20 20 20 20 20 20 20 68 74 74 70 3a 2f 2f 77 77 77 2e 61 70 61 63 68 65 2e 6f at.#.#.......http://www.apache.o
bd20 72 67 2f 6c 69 63 65 6e 73 65 73 2f 4c 49 43 45 4e 53 45 2d 32 2e 30 0a 23 0a 23 20 20 55 6e 6c rg/licenses/LICENSE-2.0.#.#..Unl
bd40 65 73 73 20 72 65 71 75 69 72 65 64 20 62 79 20 61 70 70 6c 69 63 61 62 6c 65 20 6c 61 77 20 6f ess.required.by.applicable.law.o
bd60 72 20 61 67 72 65 65 64 20 74 6f 20 69 6e 20 77 72 69 74 69 6e 67 2c 20 73 6f 66 74 77 61 72 65 r.agreed.to.in.writing,.software
bd80 0a 23 20 20 64 69 73 74 72 69 62 75 74 65 64 20 75 6e 64 65 72 20 74 68 65 20 4c 69 63 65 6e 73 .#..distributed.under.the.Licens
bda0 65 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 6f 6e 20 61 6e 20 22 41 53 20 49 53 22 20 42 e.is.distributed.on.an."AS.IS".B
bdc0 41 53 49 53 2c 20 57 49 54 48 4f 55 54 0a 23 20 20 57 41 52 52 41 4e 54 49 45 53 20 4f 52 20 43 ASIS,.WITHOUT.#..WARRANTIES.OR.C
bde0 4f 4e 44 49 54 49 4f 4e 53 20 4f 46 20 41 4e 59 20 4b 49 4e 44 2c 20 65 69 74 68 65 72 20 65 78 ONDITIONS.OF.ANY.KIND,.either.ex
be00 70 72 65 73 73 20 6f 72 20 69 6d 70 6c 69 65 64 2e 20 53 65 65 20 74 68 65 0a 23 20 20 4c 69 63 press.or.implied..See.the.#..Lic
be20 65 6e 73 65 20 66 6f 72 20 74 68 65 20 73 70 65 63 69 66 69 63 20 6c 61 6e 67 75 61 67 65 20 67 ense.for.the.specific.language.g
be40 6f 76 65 72 6e 69 6e 67 20 70 65 72 6d 69 73 73 69 6f 6e 73 20 61 6e 64 20 6c 69 6d 69 74 61 74 overning.permissions.and.limitat
be60 69 6f 6e 73 0a 23 20 20 75 6e 64 65 72 20 74 68 65 20 4c 69 63 65 6e 73 65 2e 0a 23 0a 0a 69 6d ions.#..under.the.License..#..im
be80 70 6f 72 74 20 63 6f 70 79 0a 69 6d 70 6f 72 74 20 6d 6f 63 6b 0a 0a 66 72 6f 6d 20 6f 73 6c 6f port.copy.import.mock..from.oslo
bea0 74 65 73 74 20 69 6d 70 6f 72 74 20 62 61 73 65 0a 0a 66 72 6f 6d 20 6e 65 75 74 72 6f 6e 2e 65 test.import.base..from.neutron.e
bec0 78 74 65 6e 73 69 6f 6e 73 20 69 6d 70 6f 72 74 20 6c 33 0a 66 72 6f 6d 20 6e 65 75 74 72 6f 6e xtensions.import.l3.from.neutron
bee0 2e 74 65 73 74 73 2e 75 6e 69 74 2e 61 70 69 2e 76 32 20 69 6d 70 6f 72 74 20 74 65 73 74 5f 62 .tests.unit.api.v2.import.test_b
bf00 61 73 65 0a 66 72 6f 6d 20 6e 65 75 74 72 6f 6e 2e 74 65 73 74 73 2e 75 6e 69 74 2e 65 78 74 65 ase.from.neutron.tests.unit.exte
bf20 6e 73 69 6f 6e 73 20 69 6d 70 6f 72 74 20 62 61 73 65 20 61 73 20 74 65 73 74 5f 6e 65 75 74 72 nsions.import.base.as.test_neutr
bf40 6f 6e 5f 65 78 74 65 6e 73 69 6f 6e 73 0a 66 72 6f 6d 20 77 65 62 6f 62 20 69 6d 70 6f 72 74 20 on_extensions.from.webob.import.
bf60 65 78 63 0a 0a 69 6d 70 6f 72 74 20 6e 65 74 77 6f 72 6b 69 6e 67 5f 6f 6e 6f 73 2e 70 6c 75 67 exc..import.networking_onos.plug
bf80 69 6e 73 2e 6c 33 2e 64 72 69 76 65 72 20 61 73 20 6f 6e 6f 73 5f 64 72 69 76 65 72 0a 0a 66 61 ins.l3.driver.as.onos_driver..fa
bfa0 6b 65 5f 74 65 6e 61 6e 74 5f 69 64 20 3d 20 27 30 34 38 61 61 39 38 61 33 65 63 33 34 35 64 63 ke_tenant_id.=.'048aa98a3ec345dc
bfc0 38 62 31 34 34 32 37 63 38 31 65 32 37 36 63 66 27 0a 0a 66 61 6b 65 5f 72 6f 75 74 65 72 5f 75 8b14427c81e276cf'..fake_router_u
bfe0 75 69 64 20 3d 20 27 32 39 32 66 37 39 36 37 2d 63 35 65 37 2d 34 37 64 38 2d 38 32 36 35 2d 64 uid.=.'292f7967-c5e7-47d8-8265-d
c000 63 32 31 36 30 36 37 38 62 37 35 27 0a 66 61 6b 65 5f 72 6f 75 74 65 72 5f 6f 62 6a 65 63 74 20 c2160678b75'.fake_router_object.
c020 3d 20 7b 27 72 6f 75 74 65 72 27 3a 20 7b 27 6e 61 6d 65 27 3a 20 27 72 6f 75 74 65 72 5f 61 62 =.{'router':.{'name':.'router_ab
c040 63 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 c',.............................
c060 20 20 20 20 20 27 65 78 74 65 72 6e 61 6c 5f 67 61 74 65 77 61 79 5f 69 6e 66 6f 27 3a 20 4e 6f .....'external_gateway_info':.No
c080 6e 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ne,.............................
c0a0 20 20 20 20 20 27 61 64 6d 69 6e 5f 73 74 61 74 65 5f 75 70 27 3a 20 54 72 75 65 2c 0a 20 20 20 .....'admin_state_up':.True,....
c0c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 74 ..............................'t
c0e0 65 6e 61 6e 74 5f 69 64 27 3a 20 66 61 6b 65 5f 74 65 6e 61 6e 74 5f 69 64 7d 7d 0a 0a 66 61 6b enant_id':.fake_tenant_id}}..fak
c100 65 5f 6e 65 74 77 6f 72 6b 5f 69 64 20 3d 20 27 37 34 36 34 61 61 66 30 2d 32 37 65 61 2d 34 34 e_network_id.=.'7464aaf0-27ea-44
c120 38 61 2d 39 37 64 66 2d 35 31 37 33 32 66 39 65 30 65 32 37 27 0a 66 61 6b 65 5f 72 6f 75 74 65 8a-97df-51732f9e0e27'.fake_route
c140 72 5f 65 78 74 65 72 6e 61 6c 5f 69 6e 66 6f 20 3d 20 7b 27 65 78 74 65 72 6e 61 6c 5f 67 61 74 r_external_info.=.{'external_gat
c160 65 77 61 79 5f 69 6e 66 6f 27 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 eway_info':.....................
c180 20 20 20 20 20 20 20 20 20 7b 27 6e 65 74 77 6f 72 6b 5f 69 64 27 3a 20 66 61 6b 65 5f 6e 65 74 .........{'network_id':.fake_net
c1a0 77 6f 72 6b 5f 69 64 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 work_id,........................
c1c0 20 20 20 20 20 20 20 27 65 6e 61 62 6c 65 5f 73 6e 61 74 27 3a 20 46 61 6c 73 65 7d 7d 0a 0a 66 .......'enable_snat':.False}}..f
c1e0 61 6b 65 5f 66 6c 6f 61 74 69 6e 67 5f 69 70 5f 69 64 20 3d 20 27 37 34 36 34 61 61 66 30 2d 32 ake_floating_ip_id.=.'7464aaf0-2
c200 37 65 61 2d 34 34 38 61 2d 39 37 64 66 2d 35 31 37 33 32 66 39 65 30 65 32 35 27 0a 66 61 6b 65 7ea-448a-97df-51732f9e0e25'.fake
c220 5f 66 6c 6f 61 74 69 6e 67 5f 69 70 20 3d 20 7b 27 66 6c 6f 61 74 69 6e 67 69 70 27 3a 0a 20 20 _floating_ip.=.{'floatingip':...
c240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 27 66 69 78 65 64 5f 69 70 5f 61 64 64 ..................{'fixed_ip_add
c260 72 65 73 73 27 3a 20 27 31 30 2e 31 2e 31 2e 31 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ress':.'10.1.1.1',..............
c280 20 20 20 20 20 20 20 20 27 69 64 27 3a 20 66 61 6b 65 5f 66 6c 6f 61 74 69 6e 67 5f 69 70 5f 69 ........'id':.fake_floating_ip_i
c2a0 64 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 72 6f 75 74 65 72 5f d,......................'router_
c2c0 69 64 27 3a 20 66 61 6b 65 5f 72 6f 75 74 65 72 5f 75 75 69 64 2c 0a 20 20 20 20 20 20 20 20 20 id':.fake_router_uuid,..........
c2e0 20 20 20 20 20 20 20 20 20 20 20 20 27 70 6f 72 74 5f 69 64 27 3a 20 4e 6f 6e 65 2c 0a 20 20 20 ............'port_id':.None,....
c300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 73 74 61 74 75 73 27 3a 20 4e 6f 6e 65 ..................'status':.None
c320 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 74 65 6e 61 6e 74 5f 69 ,......................'tenant_i
c340 64 27 3a 20 66 61 6b 65 5f 74 65 6e 61 6e 74 5f 69 64 7d 7d 0a 0a 66 61 6b 65 5f 70 6f 72 74 5f d':.fake_tenant_id}}..fake_port_
c360 69 64 20 3d 20 27 37 64 62 35 36 30 65 39 2d 37 36 64 34 2d 34 62 66 39 2d 39 63 32 38 2d 34 33 id.=.'7db560e9-76d4-4bf9-9c28-43
c380 65 66 61 37 61 66 61 34 35 64 27 0a 66 61 6b 65 5f 73 75 62 6e 65 74 5f 69 64 20 3d 20 27 64 63 efa7afa45d'.fake_subnet_id.=.'dc
c3a0 32 62 38 30 37 31 2d 63 32 34 63 2d 34 61 38 65 2d 62 34 37 31 2d 64 62 66 33 66 62 65 35 35 38 2b8071-c24c-4a8e-b471-dbf3fbe558
c3c0 33 30 27 0a 66 61 6b 65 5f 70 6f 72 74 20 3d 20 7b 27 69 64 27 3a 20 66 61 6b 65 5f 70 6f 72 74 30'.fake_port.=.{'id':.fake_port
c3e0 5f 69 64 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 27 6e 65 74 77 6f 72 6b 5f 69 64 27 3a 20 _id,..............'network_id':.
c400 66 61 6b 65 5f 6e 65 74 77 6f 72 6b 5f 69 64 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 27 66 fake_network_id,..............'f
c420 69 78 65 64 5f 69 70 73 27 3a 20 5b 7b 27 69 70 5f 61 64 64 72 65 73 73 27 3a 20 27 32 31 2e 34 ixed_ips':.[{'ip_address':.'21.4
c440 31 2e 34 2e 35 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 1.4.5',.........................
c460 20 20 20 20 27 70 72 65 66 69 78 6c 65 6e 27 3a 20 32 38 2c 0a 20 20 20 20 20 20 20 20 20 20 20 ....'prefixlen':.28,............
c480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 73 75 62 6e 65 74 5f 69 64 27 3a 20 66 61 .................'subnet_id':.fa
c4a0 6b 65 5f 73 75 62 6e 65 74 5f 69 64 7d 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 27 73 75 ke_subnet_id}],..............'su
c4c0 62 6e 65 74 73 27 3a 20 5b 7b 27 69 64 27 3a 20 66 61 6b 65 5f 73 75 62 6e 65 74 5f 69 64 2c 0a bnets':.[{'id':.fake_subnet_id,.
c4e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 63 69 64 72 27 ..........................'cidr'
c500 3a 20 27 32 31 2e 34 31 2e 34 2e 30 2f 32 38 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 :.'21.41.4.0/28',...............
c520 20 20 20 20 20 20 20 20 20 20 20 20 27 67 61 74 65 77 61 79 5f 69 70 27 3a 20 27 32 31 2e 34 31 ............'gateway_ip':.'21.41
c540 2e 34 2e 31 27 7d 5d 7d 0a 0a 66 61 6b 65 5f 66 6c 6f 61 74 69 6e 67 5f 69 70 5f 75 70 64 61 74 .4.1'}]}..fake_floating_ip_updat
c560 65 5f 69 6e 66 6f 20 3d 20 7b 27 66 6c 6f 61 74 69 6e 67 5f 6e 65 74 77 6f 72 6b 5f 69 64 27 3a e_info.=.{'floating_network_id':
c580 20 66 61 6b 65 5f 6e 65 74 77 6f 72 6b 5f 69 64 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .fake_network_id,...............
c5a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 74 65 6e 61 6e 74 5f 69 64 27 3a 20 66 ..................'tenant_id':.f
c5c0 61 6b 65 5f 74 65 6e 61 6e 74 5f 69 64 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ake_tenant_id,..................
c5e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 66 69 78 65 64 5f 69 70 5f 61 64 64 72 65 73 73 ...............'fixed_ip_address
c600 27 3a 20 27 32 30 2e 31 2e 31 2e 31 31 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ':.'20.1.1.11',.................
c620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 73 75 62 6e 65 74 5f 69 64 27 3a 20 66 61 6b ................'subnet_id':.fak
c640 65 5f 70 6f 72 74 5b 27 73 75 62 6e 65 74 73 27 5d 5b 30 5d 5b 27 69 64 27 5d 2c 0a 20 20 20 20 e_port['subnets'][0]['id'],.....
c660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 70 6f 72 ............................'por
c680 74 5f 69 64 27 3a 20 66 61 6b 65 5f 70 6f 72 74 5f 69 64 2c 0a 20 20 20 20 20 20 20 20 20 20 20 t_id':.fake_port_id,............
c6a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 66 6c 6f 61 74 69 6e 67 5f 69 .....................'floating_i
c6c0 70 5f 61 64 64 72 65 73 73 27 3a 20 27 31 39 38 2e 31 2e 32 2e 33 27 7d 0a 0a 66 61 6b 65 5f 69 p_address':.'198.1.2.3'}..fake_i
c6e0 6e 74 65 72 66 61 63 65 5f 61 64 64 20 3d 20 7b 27 73 75 62 6e 65 74 5f 69 64 27 3a 20 66 61 6b nterface_add.=.{'subnet_id':.fak
c700 65 5f 73 75 62 6e 65 74 5f 69 64 7d 0a 0a 66 61 6b 65 5f 69 6e 74 65 72 66 61 63 65 5f 72 65 6d e_subnet_id}..fake_interface_rem
c720 6f 76 65 20 3d 20 7b 27 73 75 62 6e 65 74 5f 69 64 27 3a 20 66 61 6b 65 5f 73 75 62 6e 65 74 5f ove.=.{'subnet_id':.fake_subnet_
c740 69 64 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 70 6f id,..........................'po
c760 72 74 5f 69 64 27 3a 20 66 61 6b 65 5f 70 6f 72 74 5f 69 64 7d 0a 0a 0a 63 6c 61 73 73 20 4f 4e rt_id':.fake_port_id}...class.ON
c780 4f 53 4c 33 50 6c 75 67 69 6e 54 65 73 74 43 61 73 65 28 62 61 73 65 2e 42 61 73 65 54 65 73 74 OSL3PluginTestCase(base.BaseTest
c7a0 43 61 73 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 Case,...........................
c7c0 20 74 65 73 74 5f 6e 65 75 74 72 6f 6e 5f 65 78 74 65 6e 73 69 6f 6e 73 2e 45 78 74 65 6e 73 69 .test_neutron_extensions.Extensi
c7e0 6f 6e 54 65 73 74 43 61 73 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 onTestCase,.....................
c800 20 20 20 20 20 20 20 6f 6e 6f 73 5f 64 72 69 76 65 72 2e 4f 4e 4f 53 4c 33 50 6c 75 67 69 6e 29 .......onos_driver.ONOSL3Plugin)
c820 3a 0a 0a 20 20 20 20 64 65 66 20 73 65 74 55 70 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 :......def.setUp(self):.........
c840 73 75 70 65 72 28 4f 4e 4f 53 4c 33 50 6c 75 67 69 6e 54 65 73 74 43 61 73 65 2c 20 73 65 6c 66 super(ONOSL3PluginTestCase,.self
c860 29 2e 73 65 74 55 70 28 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 5f 73 65 74 55 70 45 78 74 ).setUp().........self._setUpExt
c880 65 6e 73 69 6f 6e 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 6e 65 75 74 72 6f 6e 2e 65 78 74 ension(.............'neutron.ext
c8a0 65 6e 73 69 6f 6e 73 2e 6c 33 2e 52 6f 75 74 65 72 50 6c 75 67 69 6e 42 61 73 65 27 2c 20 4e 6f ensions.l3.RouterPluginBase',.No
c8c0 6e 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 6c 33 2e 52 45 53 4f 55 52 43 45 5f 41 54 54 52 ne,.............l3.RESOURCE_ATTR
c8e0 49 42 55 54 45 5f 4d 41 50 2c 20 6c 33 2e 4c 33 2c 20 4e 6f 6e 65 2c 0a 20 20 20 20 20 20 20 20 IBUTE_MAP,.l3.L3,.None,.........
c900 20 20 20 20 61 6c 6c 6f 77 5f 70 61 67 69 6e 61 74 69 6f 6e 3d 54 72 75 65 2c 20 61 6c 6c 6f 77 ....allow_pagination=True,.allow
c920 5f 73 6f 72 74 69 6e 67 3d 54 72 75 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 75 70 70 6f _sorting=True,.............suppo
c940 72 74 65 64 5f 65 78 74 65 6e 73 69 6f 6e 5f 61 6c 69 61 73 65 73 3d 5b 27 72 6f 75 74 65 72 27 rted_extension_aliases=['router'
c960 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 75 73 65 5f 71 75 6f 74 61 3d 54 72 75 65 29 0a 20 ],.............use_quota=True)..
c980 20 20 20 20 20 20 20 73 65 6c 66 2e 69 6e 73 74 61 6e 63 65 20 3d 20 73 65 6c 66 2e 70 6c 75 67 .......self.instance.=.self.plug
c9a0 69 6e 2e 72 65 74 75 72 6e 5f 76 61 6c 75 65 0a 0a 20 20 20 20 64 65 66 20 5f 6d 6f 63 6b 5f 72 in.return_value......def._mock_r
c9c0 65 71 5f 72 65 73 28 73 65 6c 66 2c 20 73 74 61 74 75 73 5f 63 6f 64 65 29 3a 0a 20 20 20 20 20 eq_res(self,.status_code):......
c9e0 20 20 20 72 65 73 70 6f 6e 73 65 20 3d 20 6d 6f 63 6b 2e 4d 6f 63 6b 28 73 74 61 74 75 73 5f 63 ...response.=.mock.Mock(status_c
ca00 6f 64 65 3d 73 74 61 74 75 73 5f 63 6f 64 65 29 0a 20 20 20 20 20 20 20 20 72 65 73 70 6f 6e 73 ode=status_code).........respons
ca20 65 2e 72 61 69 73 65 5f 66 6f 72 5f 73 74 61 74 75 73 20 3d 20 6d 6f 63 6b 2e 4d 6f 63 6b 28 29 e.raise_for_status.=.mock.Mock()
ca40 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 72 65 73 70 6f 6e 73 65 0a 0a 20 20 20 20 64 65 .........return.response......de
ca60 66 20 5f 74 65 73 74 5f 73 65 6e 64 5f 6d 73 67 28 73 65 6c 66 2c 20 64 69 63 74 5f 69 6e 66 6f f._test_send_msg(self,.dict_info
ca80 2c 20 6f 70 65 72 5f 74 79 70 65 2c 20 75 72 6c 29 3a 0a 20 20 20 20 20 20 20 20 69 66 20 6f 70 ,.oper_type,.url):.........if.op
caa0 65 72 5f 74 79 70 65 20 3d 3d 20 27 70 6f 73 74 27 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 er_type.==.'post':.............r
cac0 65 73 70 20 3d 20 73 65 6c 66 2e 61 70 69 2e 70 6f 73 74 28 75 72 6c 2c 20 73 65 6c 66 2e 73 65 esp.=.self.api.post(url,.self.se
cae0 72 69 61 6c 69 7a 65 28 64 69 63 74 5f 69 6e 66 6f 29 29 0a 20 20 20 20 20 20 20 20 65 6c 69 66 rialize(dict_info)).........elif
cb00 20 6f 70 65 72 5f 74 79 70 65 20 3d 3d 20 27 70 75 74 27 3a 0a 20 20 20 20 20 20 20 20 20 20 20 .oper_type.==.'put':............
cb20 20 72 65 73 70 20 3d 20 73 65 6c 66 2e 61 70 69 2e 70 75 74 28 75 72 6c 2c 20 73 65 6c 66 2e 73 .resp.=.self.api.put(url,.self.s
cb40 65 72 69 61 6c 69 7a 65 28 64 69 63 74 5f 69 6e 66 6f 29 29 0a 20 20 20 20 20 20 20 20 65 6c 73 erialize(dict_info)).........els
cb60 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 73 70 20 3d 20 73 65 6c 66 2e 61 70 69 2e 64 e:.............resp.=.self.api.d
cb80 65 6c 65 74 65 28 75 72 6c 29 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 72 65 73 70 0a 0a elete(url).........return.resp..
cba0 20 20 20 20 64 65 66 20 74 65 73 74 5f 63 72 65 61 74 65 5f 72 6f 75 74 65 72 28 73 65 6c 66 29 ....def.test_create_router(self)
cbc0 3a 0a 20 20 20 20 20 20 20 20 72 6f 75 74 65 72 5f 69 6e 66 6f 20 3d 20 63 6f 70 79 2e 64 65 65 :.........router_info.=.copy.dee
cbe0 70 63 6f 70 79 28 66 61 6b 65 5f 72 6f 75 74 65 72 5f 6f 62 6a 65 63 74 5b 27 72 6f 75 74 65 72 pcopy(fake_router_object['router
cc00 27 5d 29 0a 20 20 20 20 20 20 20 20 72 6f 75 74 65 72 5f 69 6e 66 6f 2e 75 70 64 61 74 65 28 7b ']).........router_info.update({
cc20 27 73 74 61 74 75 73 27 3a 20 27 41 43 54 49 56 45 27 2c 20 27 69 64 27 3a 20 66 61 6b 65 5f 72 'status':.'ACTIVE',.'id':.fake_r
cc40 6f 75 74 65 72 5f 75 75 69 64 7d 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 69 6e 73 74 61 6e outer_uuid}).........self.instan
cc60 63 65 2e 63 72 65 61 74 65 5f 72 6f 75 74 65 72 2e 72 65 74 75 72 6e 5f 76 61 6c 75 65 20 3d 20 ce.create_router.return_value.=.
cc80 72 6f 75 74 65 72 5f 69 6e 66 6f 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 69 6e 73 74 61 6e 63 router_info.........self.instanc
cca0 65 2e 67 65 74 5f 72 6f 75 74 65 72 73 5f 63 6f 75 6e 74 2e 72 65 74 75 72 6e 5f 76 61 6c 75 65 e.get_routers_count.return_value
ccc0 20 3d 20 30 0a 20 20 20 20 20 20 20 20 75 72 6c 20 3d 20 74 65 73 74 5f 62 61 73 65 2e 5f 67 65 .=.0.........url.=.test_base._ge
cce0 74 5f 70 61 74 68 28 27 72 6f 75 74 65 72 73 27 2c 20 66 6d 74 3d 73 65 6c 66 2e 66 6d 74 29 0a t_path('routers',.fmt=self.fmt).
cd00 20 20 20 20 20 20 20 20 72 65 73 70 20 3d 20 73 65 6c 66 2e 5f 74 65 73 74 5f 73 65 6e 64 5f 6d ........resp.=.self._test_send_m
cd20 73 67 28 66 61 6b 65 5f 72 6f 75 74 65 72 5f 6f 62 6a 65 63 74 2c 20 27 70 6f 73 74 27 2c 20 75 sg(fake_router_object,.'post',.u
cd40 72 6c 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 69 6e 73 74 61 6e 63 65 2e 63 72 65 61 74 65 rl).........self.instance.create
cd60 5f 72 6f 75 74 65 72 2e 5c 0a 20 20 20 20 20 20 20 20 20 20 20 20 61 73 73 65 72 74 5f 63 61 6c _router.\.............assert_cal
cd80 6c 65 64 5f 6f 6e 63 65 5f 77 69 74 68 28 6d 6f 63 6b 2e 41 4e 59 2c 20 72 6f 75 74 65 72 3d 66 led_once_with(mock.ANY,.router=f
cda0 61 6b 65 5f 72 6f 75 74 65 72 5f 6f 62 6a 65 63 74 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e ake_router_object).........self.
cdc0 5f 76 65 72 69 66 79 5f 72 65 73 70 28 72 65 73 70 2c 20 65 78 63 2e 48 54 54 50 43 72 65 61 74 _verify_resp(resp,.exc.HTTPCreat
cde0 65 64 2e 63 6f 64 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ed.code,........................
ce00 20 20 20 27 72 6f 75 74 65 72 27 2c 20 66 61 6b 65 5f 72 6f 75 74 65 72 5f 75 75 69 64 29 0a 0a ...'router',.fake_router_uuid)..
ce20 20 20 20 20 64 65 66 20 74 65 73 74 5f 75 70 64 61 74 65 5f 72 6f 75 74 65 72 28 73 65 6c 66 29 ....def.test_update_router(self)
ce40 3a 0a 20 20 20 20 20 20 20 20 72 6f 75 74 65 72 5f 69 6e 66 6f 20 3d 20 63 6f 70 79 2e 64 65 65 :.........router_info.=.copy.dee
ce60 70 63 6f 70 79 28 66 61 6b 65 5f 72 6f 75 74 65 72 5f 6f 62 6a 65 63 74 5b 27 72 6f 75 74 65 72 pcopy(fake_router_object['router
ce80 27 5d 29 0a 20 20 20 20 20 20 20 20 72 6f 75 74 65 72 5f 69 6e 66 6f 2e 75 70 64 61 74 65 28 66 ']).........router_info.update(f
cea0 61 6b 65 5f 72 6f 75 74 65 72 5f 65 78 74 65 72 6e 61 6c 5f 69 6e 66 6f 29 0a 20 20 20 20 20 20 ake_router_external_info).......
cec0 20 20 72 6f 75 74 65 72 5f 69 6e 66 6f 2e 75 70 64 61 74 65 28 7b 27 73 74 61 74 75 73 27 3a 20 ..router_info.update({'status':.
cee0 27 41 43 54 49 56 45 27 2c 20 27 69 64 27 3a 20 66 61 6b 65 5f 72 6f 75 74 65 72 5f 75 75 69 64 'ACTIVE',.'id':.fake_router_uuid
cf00 7d 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 69 6e 73 74 61 6e 63 65 2e 75 70 64 61 74 65 5f }).........self.instance.update_
cf20 72 6f 75 74 65 72 2e 72 65 74 75 72 6e 5f 76 61 6c 75 65 20 3d 20 72 6f 75 74 65 72 5f 69 6e 66 router.return_value.=.router_inf
cf40 6f 0a 20 20 20 20 20 20 20 20 72 6f 75 74 65 72 5f 72 65 71 75 65 73 74 20 3d 20 7b 27 72 6f 75 o.........router_request.=.{'rou
cf60 74 65 72 27 3a 20 66 61 6b 65 5f 72 6f 75 74 65 72 5f 65 78 74 65 72 6e 61 6c 5f 69 6e 66 6f 7d ter':.fake_router_external_info}
cf80 0a 20 20 20 20 20 20 20 20 75 72 6c 20 3d 20 74 65 73 74 5f 62 61 73 65 2e 5f 67 65 74 5f 70 61 .........url.=.test_base._get_pa
cfa0 74 68 28 27 72 6f 75 74 65 72 73 27 2c 20 69 64 3d 66 61 6b 65 5f 72 6f 75 74 65 72 5f 75 75 69 th('routers',.id=fake_router_uui
cfc0 64 2c 20 66 6d 74 3d 73 65 6c 66 2e 66 6d 74 29 0a 20 20 20 20 20 20 20 20 72 65 73 70 20 3d 20 d,.fmt=self.fmt).........resp.=.
cfe0 73 65 6c 66 2e 5f 74 65 73 74 5f 73 65 6e 64 5f 6d 73 67 28 72 6f 75 74 65 72 5f 72 65 71 75 65 self._test_send_msg(router_reque
d000 73 74 2c 20 27 70 75 74 27 2c 20 75 72 6c 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 69 6e 73 st,.'put',.url).........self.ins
d020 74 61 6e 63 65 2e 75 70 64 61 74 65 5f 72 6f 75 74 65 72 2e 5c 0a 20 20 20 20 20 20 20 20 20 20 tance.update_router.\...........
d040 20 20 61 73 73 65 72 74 5f 63 61 6c 6c 65 64 5f 6f 6e 63 65 5f 77 69 74 68 28 6d 6f 63 6b 2e 41 ..assert_called_once_with(mock.A
d060 4e 59 2c 20 66 61 6b 65 5f 72 6f 75 74 65 72 5f 75 75 69 64 2c 0a 20 20 20 20 20 20 20 20 20 20 NY,.fake_router_uuid,...........
d080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 6f 75 74 65 72 ..........................router
d0a0 3d 72 6f 75 74 65 72 5f 72 65 71 75 65 73 74 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 5f 76 =router_request).........self._v
d0c0 65 72 69 66 79 5f 72 65 73 70 28 72 65 73 70 2c 20 65 78 63 2e 48 54 54 50 4f 6b 2e 63 6f 64 65 erify_resp(resp,.exc.HTTPOk.code
d0e0 2c 20 27 72 6f 75 74 65 72 27 2c 20 66 61 6b 65 5f 72 6f 75 74 65 72 5f 75 75 69 64 29 0a 0a 20 ,.'router',.fake_router_uuid)...
d100 20 20 20 64 65 66 20 74 65 73 74 5f 64 65 6c 65 74 65 5f 72 6f 75 74 65 72 28 73 65 6c 66 29 3a ...def.test_delete_router(self):
d120 0a 20 20 20 20 20 20 20 20 75 72 6c 20 3d 20 74 65 73 74 5f 62 61 73 65 2e 5f 67 65 74 5f 70 61 .........url.=.test_base._get_pa
d140 74 68 28 27 72 6f 75 74 65 72 73 27 2c 20 69 64 3d 66 61 6b 65 5f 72 6f 75 74 65 72 5f 75 75 69 th('routers',.id=fake_router_uui
d160 64 2c 20 66 6d 74 3d 73 65 6c 66 2e 66 6d 74 29 0a 20 20 20 20 20 20 20 20 72 65 73 70 20 3d 20 d,.fmt=self.fmt).........resp.=.
d180 73 65 6c 66 2e 5f 74 65 73 74 5f 73 65 6e 64 5f 6d 73 67 28 4e 6f 6e 65 2c 20 27 64 65 6c 65 74 self._test_send_msg(None,.'delet
d1a0 65 27 2c 20 75 72 6c 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 69 6e 73 74 61 6e 63 65 2e 64 e',.url).........self.instance.d
d1c0 65 6c 65 74 65 5f 72 6f 75 74 65 72 2e 61 73 73 65 72 74 5f 63 61 6c 6c 65 64 5f 6f 6e 63 65 5f elete_router.assert_called_once_
d1e0 77 69 74 68 28 6d 6f 63 6b 2e 41 4e 59 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 with(mock.ANY,..................
d200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
d220 20 20 20 20 20 20 20 20 20 20 20 66 61 6b 65 5f 72 6f 75 74 65 72 5f 75 75 69 64 29 0a 20 20 20 ...........fake_router_uuid)....
d240 20 20 20 20 20 73 65 6c 66 2e 61 73 73 65 72 74 45 71 75 61 6c 28 72 65 73 70 2e 73 74 61 74 75 .....self.assertEqual(resp.statu
d260 73 5f 69 6e 74 2c 20 65 78 63 2e 48 54 54 50 4e 6f 43 6f 6e 74 65 6e 74 2e 63 6f 64 65 29 0a 0a s_int,.exc.HTTPNoContent.code)..
d280 20 20 20 20 64 65 66 20 74 65 73 74 5f 63 72 65 61 74 65 5f 66 6c 6f 61 74 69 6e 67 5f 69 70 28 ....def.test_create_floating_ip(
d2a0 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 66 6c 6f 61 74 69 6e 67 69 70 5f 69 6e 66 6f 20 3d self):.........floatingip_info.=
d2c0 20 63 6f 70 79 2e 64 65 65 70 63 6f 70 79 28 66 61 6b 65 5f 66 6c 6f 61 74 69 6e 67 5f 69 70 5b .copy.deepcopy(fake_floating_ip[
d2e0 27 66 6c 6f 61 74 69 6e 67 69 70 27 5d 29 0a 20 20 20 20 20 20 20 20 66 6c 6f 61 74 69 6e 67 69 'floatingip']).........floatingi
d300 70 5f 69 6e 66 6f 2e 75 70 64 61 74 65 28 66 61 6b 65 5f 66 6c 6f 61 74 69 6e 67 5f 69 70 5f 75 p_info.update(fake_floating_ip_u
d320 70 64 61 74 65 5f 69 6e 66 6f 29 0a 20 20 20 20 20 20 20 20 66 6c 6f 61 74 69 6e 67 69 70 5f 69 pdate_info).........floatingip_i
d340 6e 66 6f 2e 75 70 64 61 74 65 28 7b 27 73 74 61 74 75 73 27 3a 20 27 41 43 54 49 56 45 27 2c 20 nfo.update({'status':.'ACTIVE',.
d360 27 66 69 78 65 64 5f 69 70 5f 61 64 64 72 65 73 73 27 3a 20 4e 6f 6e 65 7d 29 0a 0a 20 20 20 20 'fixed_ip_address':.None})......
d380 20 20 20 20 73 65 6c 66 2e 69 6e 73 74 61 6e 63 65 2e 63 72 65 61 74 65 5f 66 6c 6f 61 74 69 6e ....self.instance.create_floatin
d3a0 67 69 70 2e 72 65 74 75 72 6e 5f 76 61 6c 75 65 20 3d 20 66 6c 6f 61 74 69 6e 67 69 70 5f 69 6e gip.return_value.=.floatingip_in
d3c0 66 6f 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 69 6e 73 74 61 6e 63 65 2e 67 65 74 5f 66 6c 6f fo.........self.instance.get_flo
d3e0 61 74 69 6e 67 69 70 73 5f 63 6f 75 6e 74 2e 72 65 74 75 72 6e 5f 76 61 6c 75 65 20 3d 20 30 0a atingips_count.return_value.=.0.
d400 20 20 20 20 20 20 20 20 73 65 6c 66 2e 69 6e 73 74 61 6e 63 65 2e 67 65 74 5f 70 6f 72 74 20 3d ........self.instance.get_port.=
d420 20 6d 6f 63 6b 2e 4d 6f 63 6b 28 72 65 74 75 72 6e 5f 76 61 6c 75 65 3d 66 61 6b 65 5f 70 6f 72 .mock.Mock(return_value=fake_por
d440 74 29 0a 0a 20 20 20 20 20 20 20 20 66 6c 6f 61 74 69 6e 67 5f 69 70 5f 72 65 71 75 65 73 74 20 t)..........floating_ip_request.
d460 3d 20 7b 27 66 6c 6f 61 74 69 6e 67 69 70 27 3a 20 66 61 6b 65 5f 66 6c 6f 61 74 69 6e 67 5f 69 =.{'floatingip':.fake_floating_i
d480 70 5f 75 70 64 61 74 65 5f 69 6e 66 6f 7d 0a 20 20 20 20 20 20 20 20 75 72 6c 20 3d 20 74 65 73 p_update_info}.........url.=.tes
d4a0 74 5f 62 61 73 65 2e 5f 67 65 74 5f 70 61 74 68 28 27 66 6c 6f 61 74 69 6e 67 69 70 73 27 2c 20 t_base._get_path('floatingips',.
d4c0 66 6d 74 3d 73 65 6c 66 2e 66 6d 74 29 0a 20 20 20 20 20 20 20 20 72 65 73 70 20 3d 20 73 65 6c fmt=self.fmt).........resp.=.sel
d4e0 66 2e 5f 74 65 73 74 5f 73 65 6e 64 5f 6d 73 67 28 66 6c 6f 61 74 69 6e 67 5f 69 70 5f 72 65 71 f._test_send_msg(floating_ip_req
d500 75 65 73 74 2c 20 27 70 6f 73 74 27 2c 20 75 72 6c 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e uest,.'post',.url).........self.
d520 69 6e 73 74 61 6e 63 65 2e 63 72 65 61 74 65 5f 66 6c 6f 61 74 69 6e 67 69 70 2e 5c 0a 20 20 20 instance.create_floatingip.\....
d540 20 20 20 20 20 20 20 20 20 61 73 73 65 72 74 5f 63 61 6c 6c 65 64 5f 6f 6e 63 65 5f 77 69 74 68 .........assert_called_once_with
d560 28 6d 6f 63 6b 2e 41 4e 59 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 (mock.ANY,......................
d580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6c 6f 61 74 69 6e 67 69 70 3d 66 6c 6f 61 74 69 ...............floatingip=floati
d5a0 6e 67 5f 69 70 5f 72 65 71 75 65 73 74 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 5f 76 65 72 ng_ip_request).........self._ver
d5c0 69 66 79 5f 72 65 73 70 28 72 65 73 70 2c 20 65 78 63 2e 48 54 54 50 43 72 65 61 74 65 64 2e 63 ify_resp(resp,.exc.HTTPCreated.c
d5e0 6f 64 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 ode,...........................'
d600 66 6c 6f 61 74 69 6e 67 69 70 27 2c 20 66 61 6b 65 5f 66 6c 6f 61 74 69 6e 67 5f 69 70 5f 69 64 floatingip',.fake_floating_ip_id
d620 29 0a 0a 20 20 20 20 64 65 66 20 74 65 73 74 5f 75 70 64 61 74 65 5f 66 6c 6f 61 74 69 6e 67 5f )......def.test_update_floating_
d640 69 70 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 66 61 6b 65 5f 66 6c 6f 61 74 69 6e 67 5f ip(self):.........fake_floating_
d660 69 70 5f 75 70 64 61 74 65 5f 69 6e 66 6f 20 3d 20 7b 27 70 6f 72 74 5f 69 64 27 3a 20 4e 6f 6e ip_update_info.=.{'port_id':.Non
d680 65 7d 0a 20 20 20 20 20 20 20 20 66 6c 6f 61 74 69 6e 67 69 70 5f 69 6e 66 6f 20 3d 20 63 6f 70 e}.........floatingip_info.=.cop
d6a0 79 2e 64 65 65 70 63 6f 70 79 28 66 61 6b 65 5f 66 6c 6f 61 74 69 6e 67 5f 69 70 5b 27 66 6c 6f y.deepcopy(fake_floating_ip['flo
d6c0 61 74 69 6e 67 69 70 27 5d 29 0a 20 20 20 20 20 20 20 20 66 6c 6f 61 74 69 6e 67 69 70 5f 69 6e atingip']).........floatingip_in
d6e0 66 6f 2e 75 70 64 61 74 65 28 66 61 6b 65 5f 66 6c 6f 61 74 69 6e 67 5f 69 70 5f 75 70 64 61 74 fo.update(fake_floating_ip_updat
d700 65 5f 69 6e 66 6f 29 0a 20 20 20 20 20 20 20 20 66 6c 6f 61 74 69 6e 67 69 70 5f 69 6e 66 6f 2e e_info).........floatingip_info.
d720 75 70 64 61 74 65 28 7b 27 73 74 61 74 75 73 27 3a 20 27 41 43 54 49 56 45 27 2c 0a 20 20 20 20 update({'status':.'ACTIVE',.....
d740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 74 65 6e ............................'ten
d760 61 6e 74 5f 69 64 27 3a 20 66 61 6b 65 5f 74 65 6e 61 6e 74 5f 69 64 2c 0a 20 20 20 20 20 20 20 ant_id':.fake_tenant_id,........
d780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 66 6c 6f 61 74 69 .........................'floati
d7a0 6e 67 5f 6e 65 74 77 6f 72 6b 5f 69 64 27 3a 20 66 61 6b 65 5f 6e 65 74 77 6f 72 6b 5f 69 64 2c ng_network_id':.fake_network_id,
d7c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
d7e0 20 27 66 69 78 65 64 5f 69 70 5f 61 64 64 72 65 73 73 27 3a 20 4e 6f 6e 65 2c 0a 20 20 20 20 20 .'fixed_ip_address':.None,......
d800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 66 6c 6f 61 ...........................'floa
d820 74 69 6e 67 5f 69 70 5f 61 64 64 72 65 73 73 27 3a 20 27 31 37 32 2e 32 34 2e 34 2e 32 32 38 27 ting_ip_address':.'172.24.4.228'
d840 7d 29 0a 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 69 6e 73 74 61 6e 63 65 2e 75 70 64 61 74 65 })..........self.instance.update
d860 5f 66 6c 6f 61 74 69 6e 67 69 70 2e 72 65 74 75 72 6e 5f 76 61 6c 75 65 20 3d 20 66 6c 6f 61 74 _floatingip.return_value.=.float
d880 69 6e 67 69 70 5f 69 6e 66 6f 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 69 6e 73 74 61 6e 63 65 ingip_info.........self.instance
d8a0 2e 67 65 74 5f 70 6f 72 74 20 3d 20 6d 6f 63 6b 2e 4d 6f 63 6b 28 72 65 74 75 72 6e 5f 76 61 6c .get_port.=.mock.Mock(return_val
d8c0 75 65 3d 66 61 6b 65 5f 70 6f 72 74 29 0a 20 20 20 20 20 20 20 20 66 6c 6f 61 74 69 6e 67 5f 69 ue=fake_port).........floating_i
d8e0 70 5f 72 65 71 75 65 73 74 20 3d 20 7b 27 66 6c 6f 61 74 69 6e 67 69 70 27 3a 20 66 61 6b 65 5f p_request.=.{'floatingip':.fake_
d900 66 6c 6f 61 74 69 6e 67 5f 69 70 5f 75 70 64 61 74 65 5f 69 6e 66 6f 7d 0a 20 20 20 20 20 20 20 floating_ip_update_info}........
d920 20 75 72 6c 20 3d 20 74 65 73 74 5f 62 61 73 65 2e 5f 67 65 74 5f 70 61 74 68 28 27 66 6c 6f 61 .url.=.test_base._get_path('floa
d940 74 69 6e 67 69 70 73 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tingips',.......................
d960 20 20 20 20 20 20 20 20 20 20 20 20 69 64 3d 66 61 6b 65 5f 66 6c 6f 61 74 69 6e 67 5f 69 70 5f ............id=fake_floating_ip_
d980 69 64 2c 20 66 6d 74 3d 73 65 6c 66 2e 66 6d 74 29 0a 20 20 20 20 20 20 20 20 72 65 73 70 20 3d id,.fmt=self.fmt).........resp.=
d9a0 20 73 65 6c 66 2e 5f 74 65 73 74 5f 73 65 6e 64 5f 6d 73 67 28 66 6c 6f 61 74 69 6e 67 5f 69 70 .self._test_send_msg(floating_ip
d9c0 5f 72 65 71 75 65 73 74 2c 20 27 70 75 74 27 2c 20 75 72 6c 29 0a 20 20 20 20 20 20 20 20 73 65 _request,.'put',.url).........se
d9e0 6c 66 2e 69 6e 73 74 61 6e 63 65 2e 75 70 64 61 74 65 5f 66 6c 6f 61 74 69 6e 67 69 70 2e 5c 0a lf.instance.update_floatingip.\.
da00 20 20 20 20 20 20 20 20 20 20 20 20 61 73 73 65 72 74 5f 63 61 6c 6c 65 64 5f 6f 6e 63 65 5f 77 ............assert_called_once_w
da20 69 74 68 28 6d 6f 63 6b 2e 41 4e 59 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ith(mock.ANY,...................
da40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 61 6b 65 5f 66 6c 6f 61 74 69 6e 67 5f ..................fake_floating_
da60 69 70 5f 69 64 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ip_id,..........................
da80 20 20 20 20 20 20 20 20 20 20 20 66 6c 6f 61 74 69 6e 67 69 70 3d 66 6c 6f 61 74 69 6e 67 5f 69 ...........floatingip=floating_i
daa0 70 5f 72 65 71 75 65 73 74 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 5f 76 65 72 69 66 79 5f p_request).........self._verify_
dac0 72 65 73 70 28 72 65 73 70 2c 20 65 78 63 2e 48 54 54 50 4f 6b 2e 63 6f 64 65 2c 0a 20 20 20 20 resp(resp,.exc.HTTPOk.code,.....
dae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 66 6c 6f 61 74 69 6e 67 69 ......................'floatingi
db00 70 27 2c 20 66 61 6b 65 5f 66 6c 6f 61 74 69 6e 67 5f 69 70 5f 69 64 29 0a 0a 20 20 20 20 64 65 p',.fake_floating_ip_id)......de
db20 66 20 74 65 73 74 5f 64 65 6c 65 74 65 5f 66 6c 6f 61 74 69 6e 67 5f 69 70 28 73 65 6c 66 29 3a f.test_delete_floating_ip(self):
db40 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 69 6e 73 74 61 6e 63 65 2e 67 65 74 5f 70 6f 72 74 20 .........self.instance.get_port.
db60 3d 20 6d 6f 63 6b 2e 4d 6f 63 6b 28 72 65 74 75 72 6e 5f 76 61 6c 75 65 3d 66 61 6b 65 5f 70 6f =.mock.Mock(return_value=fake_po
db80 72 74 29 0a 20 20 20 20 20 20 20 20 75 72 6c 20 3d 20 74 65 73 74 5f 62 61 73 65 2e 5f 67 65 74 rt).........url.=.test_base._get
dba0 5f 70 61 74 68 28 27 66 6c 6f 61 74 69 6e 67 69 70 73 27 2c 20 69 64 3d 66 61 6b 65 5f 66 6c 6f _path('floatingips',.id=fake_flo
dbc0 61 74 69 6e 67 5f 69 70 5f 69 64 29 0a 20 20 20 20 20 20 20 20 72 65 73 70 20 3d 20 73 65 6c 66 ating_ip_id).........resp.=.self
dbe0 2e 5f 74 65 73 74 5f 73 65 6e 64 5f 6d 73 67 28 4e 6f 6e 65 2c 20 27 64 65 6c 65 74 65 27 2c 20 ._test_send_msg(None,.'delete',.
dc00 75 72 6c 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 69 6e 73 74 61 6e 63 65 2e 64 65 6c 65 74 url).........self.instance.delet
dc20 65 5f 66 6c 6f 61 74 69 6e 67 69 70 2e 5c 0a 20 20 20 20 20 20 20 20 20 20 20 20 61 73 73 65 72 e_floatingip.\.............asser
dc40 74 5f 63 61 6c 6c 65 64 5f 6f 6e 63 65 5f 77 69 74 68 28 6d 6f 63 6b 2e 41 4e 59 2c 20 66 61 6b t_called_once_with(mock.ANY,.fak
dc60 65 5f 66 6c 6f 61 74 69 6e 67 5f 69 70 5f 69 64 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 e_floating_ip_id).........self.a
dc80 73 73 65 72 74 45 71 75 61 6c 28 72 65 73 70 2e 73 74 61 74 75 73 5f 69 6e 74 2c 20 65 78 63 2e ssertEqual(resp.status_int,.exc.
dca0 48 54 54 50 4e 6f 43 6f 6e 74 65 6e 74 2e 63 6f 64 65 29 0a 0a 20 20 20 20 64 65 66 20 74 65 73 HTTPNoContent.code)......def.tes
dcc0 74 5f 61 64 64 5f 72 6f 75 74 65 72 5f 69 6e 74 65 72 66 61 63 65 28 73 65 6c 66 29 3a 0a 20 20 t_add_router_interface(self):...
dce0 20 20 20 20 20 20 69 6e 74 65 72 66 61 63 65 5f 69 6e 66 6f 20 3d 20 7b 27 74 65 6e 61 6e 74 5f ......interface_info.=.{'tenant_
dd00 69 64 27 3a 20 66 61 6b 65 5f 74 65 6e 61 6e 74 5f 69 64 2c 0a 20 20 20 20 20 20 20 20 20 20 20 id':.fake_tenant_id,............
dd20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 70 6f 72 74 5f 69 64 27 3a 20 66 61 6b 65 5f 70 ...............'port_id':.fake_p
dd40 6f 72 74 5f 69 64 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ort_id,.........................
dd60 20 20 27 69 64 27 3a 20 66 61 6b 65 5f 72 6f 75 74 65 72 5f 75 75 69 64 7d 0a 20 20 20 20 20 20 ..'id':.fake_router_uuid}.......
dd80 20 20 69 6e 74 65 72 66 61 63 65 5f 69 6e 66 6f 2e 75 70 64 61 74 65 28 66 61 6b 65 5f 69 6e 74 ..interface_info.update(fake_int
dda0 65 72 66 61 63 65 5f 61 64 64 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 69 6e 73 74 61 6e 63 erface_add).........self.instanc
ddc0 65 2e 61 64 64 5f 72 6f 75 74 65 72 5f 69 6e 74 65 72 66 61 63 65 2e 72 65 74 75 72 6e 5f 76 61 e.add_router_interface.return_va
dde0 6c 75 65 20 3d 20 69 6e 74 65 72 66 61 63 65 5f 69 6e 66 6f 0a 20 20 20 20 20 20 20 20 75 72 6c lue.=.interface_info.........url
de00 20 3d 20 74 65 73 74 5f 62 61 73 65 2e 5f 67 65 74 5f 70 61 74 68 28 27 72 6f 75 74 65 72 73 27 .=.test_base._get_path('routers'
de20 2c 20 69 64 3d 66 61 6b 65 5f 72 6f 75 74 65 72 5f 75 75 69 64 2c 0a 20 20 20 20 20 20 20 20 20 ,.id=fake_router_uuid,..........
de40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 63 74 69 6f 6e 3d .........................action=
de60 27 61 64 64 5f 72 6f 75 74 65 72 5f 69 6e 74 65 72 66 61 63 65 27 2c 0a 20 20 20 20 20 20 20 20 'add_router_interface',.........
de80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6d 74 3d 73 65 ..........................fmt=se
dea0 6c 66 2e 66 6d 74 29 0a 20 20 20 20 20 20 20 20 72 65 73 70 20 3d 20 73 65 6c 66 2e 5f 74 65 73 lf.fmt).........resp.=.self._tes
dec0 74 5f 73 65 6e 64 5f 6d 73 67 28 66 61 6b 65 5f 69 6e 74 65 72 66 61 63 65 5f 61 64 64 2c 20 27 t_send_msg(fake_interface_add,.'
dee0 70 75 74 27 2c 20 75 72 6c 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 69 6e 73 74 61 6e 63 65 put',.url).........self.instance
df00 2e 61 64 64 5f 72 6f 75 74 65 72 5f 69 6e 74 65 72 66 61 63 65 2e 5c 0a 20 20 20 20 20 20 20 20 .add_router_interface.\.........
df20 20 20 20 20 61 73 73 65 72 74 5f 63 61 6c 6c 65 64 5f 6f 6e 63 65 5f 77 69 74 68 28 6d 6f 63 6b ....assert_called_once_with(mock
df40 2e 41 4e 59 2c 20 66 61 6b 65 5f 72 6f 75 74 65 72 5f 75 75 69 64 2c 0a 20 20 20 20 20 20 20 20 .ANY,.fake_router_uuid,.........
df60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 61 6b 65 ............................fake
df80 5f 69 6e 74 65 72 66 61 63 65 5f 61 64 64 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 5f 76 65 _interface_add).........self._ve
dfa0 72 69 66 79 5f 72 65 73 70 28 72 65 73 70 2c 20 65 78 63 2e 48 54 54 50 4f 6b 2e 63 6f 64 65 2c rify_resp(resp,.exc.HTTPOk.code,
dfc0 20 4e 6f 6e 65 2c 20 66 61 6b 65 5f 72 6f 75 74 65 72 5f 75 75 69 64 29 0a 0a 20 20 20 20 64 65 .None,.fake_router_uuid)......de
dfe0 66 20 74 65 73 74 5f 72 65 6d 6f 76 65 5f 72 6f 75 74 65 72 5f 69 6e 74 65 72 66 61 63 65 28 73 f.test_remove_router_interface(s
e000 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 69 6e 74 65 72 66 61 63 65 5f 69 6e 66 6f 20 3d 20 7b elf):.........interface_info.=.{
e020 27 74 65 6e 61 6e 74 5f 69 64 27 3a 20 66 61 6b 65 5f 74 65 6e 61 6e 74 5f 69 64 2c 0a 20 20 20 'tenant_id':.fake_tenant_id,....
e040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 69 64 27 3a 20 66 61 6b .......................'id':.fak
e060 65 5f 72 6f 75 74 65 72 5f 75 75 69 64 7d 0a 20 20 20 20 20 20 20 20 69 6e 74 65 72 66 61 63 65 e_router_uuid}.........interface
e080 5f 69 6e 66 6f 2e 75 70 64 61 74 65 28 66 61 6b 65 5f 69 6e 74 65 72 66 61 63 65 5f 72 65 6d 6f _info.update(fake_interface_remo
e0a0 76 65 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 69 6e 73 74 61 6e 63 65 2e 72 65 6d 6f 76 65 ve).........self.instance.remove
e0c0 5f 72 6f 75 74 65 72 5f 69 6e 74 65 72 66 61 63 65 2e 72 65 74 75 72 6e 5f 76 61 6c 75 65 20 3d _router_interface.return_value.=
e0e0 20 69 6e 74 65 72 66 61 63 65 5f 69 6e 66 6f 0a 20 20 20 20 20 20 20 20 75 72 6c 20 3d 20 74 65 .interface_info.........url.=.te
e100 73 74 5f 62 61 73 65 2e 5f 67 65 74 5f 70 61 74 68 28 27 72 6f 75 74 65 72 73 27 2c 20 69 64 3d st_base._get_path('routers',.id=
e120 66 61 6b 65 5f 72 6f 75 74 65 72 5f 75 75 69 64 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 fake_router_uuid,...............
e140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 63 74 69 6f 6e 3d 27 72 65 6d 6f ....................action='remo
e160 76 65 5f 72 6f 75 74 65 72 5f 69 6e 74 65 72 66 61 63 65 27 2c 0a 20 20 20 20 20 20 20 20 20 20 ve_router_interface',...........
e180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6d 74 3d 73 65 6c 66 ........................fmt=self
e1a0 2e 66 6d 74 29 0a 20 20 20 20 20 20 20 20 72 65 73 70 20 3d 20 73 65 6c 66 2e 5f 74 65 73 74 5f .fmt).........resp.=.self._test_
e1c0 73 65 6e 64 5f 6d 73 67 28 66 61 6b 65 5f 69 6e 74 65 72 66 61 63 65 5f 72 65 6d 6f 76 65 2c 20 send_msg(fake_interface_remove,.
e1e0 27 70 75 74 27 2c 20 75 72 6c 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 69 6e 73 74 61 6e 63 'put',.url).........self.instanc
e200 65 2e 72 65 6d 6f 76 65 5f 72 6f 75 74 65 72 5f 69 6e 74 65 72 66 61 63 65 2e 5c 0a 20 20 20 20 e.remove_router_interface.\.....
e220 20 20 20 20 20 20 20 20 61 73 73 65 72 74 5f 63 61 6c 6c 65 64 5f 6f 6e 63 65 5f 77 69 74 68 28 ........assert_called_once_with(
e240 6d 6f 63 6b 2e 41 4e 59 2c 20 66 61 6b 65 5f 72 6f 75 74 65 72 5f 75 75 69 64 2c 0a 20 20 20 20 mock.ANY,.fake_router_uuid,.....
e260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
e280 66 61 6b 65 5f 69 6e 74 65 72 66 61 63 65 5f 72 65 6d 6f 76 65 29 0a 20 20 20 20 20 20 20 20 73 fake_interface_remove).........s
e2a0 65 6c 66 2e 5f 76 65 72 69 66 79 5f 72 65 73 70 28 72 65 73 70 2c 20 65 78 63 2e 48 54 54 50 4f elf._verify_resp(resp,.exc.HTTPO
e2c0 6b 2e 63 6f 64 65 2c 20 4e 6f 6e 65 2c 20 66 61 6b 65 5f 72 6f 75 74 65 72 5f 75 75 69 64 29 0a k.code,.None,.fake_router_uuid).
e2e0 0a 20 20 20 20 64 65 66 20 5f 76 65 72 69 66 79 5f 72 65 73 70 28 73 65 6c 66 2c 20 72 65 73 70 .....def._verify_resp(self,.resp
e300 2c 20 72 65 74 75 72 6e 5f 63 6f 64 65 2c 20 63 6f 6e 74 65 78 74 2c 20 69 64 29 3a 0a 20 20 20 ,.return_code,.context,.id):....
e320 20 20 20 20 20 73 65 6c 66 2e 61 73 73 65 72 74 45 71 75 61 6c 28 72 65 73 70 2e 73 74 61 74 75 .....self.assertEqual(resp.statu
e340 73 5f 69 6e 74 2c 20 72 65 74 75 72 6e 5f 63 6f 64 65 29 0a 20 20 20 20 20 20 20 20 72 65 73 70 s_int,.return_code).........resp
e360 20 3d 20 73 65 6c 66 2e 64 65 73 65 72 69 61 6c 69 7a 65 28 72 65 73 70 29 0a 0a 20 20 20 20 20 .=.self.deserialize(resp).......
e380 20 20 20 69 66 20 63 6f 6e 74 65 78 74 20 69 73 20 4e 6f 6e 65 3a 0a 20 20 20 20 20 20 20 20 20 ...if.context.is.None:..........
e3a0 20 20 20 73 65 6c 66 2e 61 73 73 65 72 74 45 71 75 61 6c 28 72 65 73 70 5b 27 69 64 27 5d 2c 20 ...self.assertEqual(resp['id'],.
e3c0 69 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 73 73 65 72 74 45 71 75 61 6c id).............self.assertEqual
e3e0 28 72 65 73 70 5b 27 73 75 62 6e 65 74 5f 69 64 27 5d 2c 20 66 61 6b 65 5f 73 75 62 6e 65 74 5f (resp['subnet_id'],.fake_subnet_
e400 69 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 0a 0a 20 20 20 20 20 20 20 20 id).............return..........
e420 73 65 6c 66 2e 61 73 73 65 72 74 49 6e 28 63 6f 6e 74 65 78 74 2c 20 72 65 73 70 29 0a 20 20 20 self.assertIn(context,.resp)....
e440 20 20 20 20 20 72 65 73 6f 75 72 63 65 20 3d 20 72 65 73 70 5b 63 6f 6e 74 65 78 74 5d 0a 20 20 .....resource.=.resp[context]...
e460 20 20 20 20 20 20 73 65 6c 66 2e 61 73 73 65 72 74 45 71 75 61 6c 28 72 65 73 6f 75 72 63 65 5b ......self.assertEqual(resource[
e480 27 69 64 27 5d 2c 20 69 64 29 0a 20 20 20 20 20 20 20 20 69 66 20 63 6f 6e 74 65 78 74 20 3d 3d 'id'],.id).........if.context.==
e4a0 20 27 72 6f 75 74 65 72 27 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 73 73 65 .'router':.............self.asse
e4c0 72 74 45 71 75 61 6c 28 72 65 73 6f 75 72 63 65 5b 27 73 74 61 74 75 73 27 5d 2c 20 27 41 43 54 rtEqual(resource['status'],.'ACT
e4e0 49 56 45 27 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 73 73 65 72 74 45 71 75 IVE').............self.assertEqu
e500 61 6c 28 72 65 73 6f 75 72 63 65 5b 27 61 64 6d 69 6e 5f 73 74 61 74 65 5f 75 70 27 5d 2c 20 54 al(resource['admin_state_up'],.T
e520 72 75 65 29 0a 20 20 20 20 20 20 20 20 65 6c 69 66 20 63 6f 6e 74 65 78 74 20 3d 3d 20 27 66 6c rue).........elif.context.==.'fl
e540 6f 61 74 69 6e 67 69 70 27 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 73 73 65 oatingip':.............self.asse
e560 72 74 45 71 75 61 6c 28 72 65 73 6f 75 72 63 65 5b 27 73 74 61 74 75 73 27 5d 2c 20 27 41 43 54 rtEqual(resource['status'],.'ACT
e580 49 56 45 27 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 73 73 65 72 74 45 71 75 IVE').............self.assertEqu
e5a0 61 6c 28 72 65 73 6f 75 72 63 65 5b 27 66 69 78 65 64 5f 69 70 5f 61 64 64 72 65 73 73 27 5d 2c al(resource['fixed_ip_address'],
e5c0 20 4e 6f 6e 65 29 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .None)..........................
e5e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e600 6e 65 74 77 6f 72 6b 69 6e 67 2d 6f 6e 6f 73 2f 6e 65 74 77 6f 72 6b 69 6e 67 5f 6f 6e 6f 73 2f networking-onos/networking_onos/
e620 74 65 73 74 73 2f 75 6e 69 74 2f 70 6c 75 67 69 6e 73 2f 6c 33 2f 5f 5f 69 6e 69 74 5f 5f 2e 70 tests/unit/plugins/l3/__init__.p
e640 79 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 y...............................
e660 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000644.0001750.0001750.0000
e680 30 30 30 30 30 30 30 00 31 32 36 32 37 35 31 33 34 34 32 00 30 32 34 34 31 31 00 20 30 00 00 00 0000000.12627513442.024411..0...
e6a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e6c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e6e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e700 00 75 73 74 61 72 20 20 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...onos...................
e720 00 00 00 00 00 00 00 00 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........onos...................
e740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e7a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e7c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e7e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e800 6e 65 74 77 6f 72 6b 69 6e 67 2d 6f 6e 6f 73 2f 6e 65 74 77 6f 72 6b 69 6e 67 5f 6f 6e 6f 73 2f networking-onos/networking_onos/
e820 74 65 73 74 73 2f 75 6e 69 74 2f 5f 5f 69 6e 69 74 5f 5f 2e 70 79 00 00 00 00 00 00 00 00 00 00 tests/unit/__init__.py..........
e840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e860 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000644.0001750.0001750.0000
e880 30 30 30 30 30 30 30 00 31 32 36 32 37 35 31 33 34 34 32 00 30 32 32 34 31 32 00 20 30 00 00 00 0000000.12627513442.022412..0...
e8a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e8c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e8e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e900 00 75 73 74 61 72 20 20 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...onos...................
e920 00 00 00 00 00 00 00 00 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........onos...................
e940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e9a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e9c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e9e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ea00 6e 65 74 77 6f 72 6b 69 6e 67 2d 6f 6e 6f 73 2f 6e 65 74 77 6f 72 6b 69 6e 67 5f 6f 6e 6f 73 2f networking-onos/networking_onos/
ea20 63 6f 6d 6d 6f 6e 2f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 common/.........................
ea40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ea60 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000755.0001750.0001750.0000
ea80 30 30 30 30 30 30 30 00 31 32 36 32 37 35 31 33 34 34 32 00 30 31 37 34 36 32 00 20 35 00 00 00 0000000.12627513442.017462..5...
eaa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
eac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
eae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
eb00 00 75 73 74 61 72 20 20 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...onos...................
eb20 00 00 00 00 00 00 00 00 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........onos...................
eb40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
eb60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
eb80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
eba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ebc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ebe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ec00 6e 65 74 77 6f 72 6b 69 6e 67 2d 6f 6e 6f 73 2f 6e 65 74 77 6f 72 6b 69 6e 67 5f 6f 6e 6f 73 2f networking-onos/networking_onos/
ec20 63 6f 6d 6d 6f 6e 2f 63 6f 6e 66 69 67 2e 70 79 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 common/config.py................
ec40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ec60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000644.0001750.0001750.0000
ec80 30 30 30 32 31 36 36 00 31 32 36 32 37 35 31 33 34 34 32 00 30 32 31 33 30 36 00 20 30 00 00 00 0002166.12627513442.021306..0...
eca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ecc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ece0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ed00 00 75 73 74 61 72 20 20 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...onos...................
ed20 00 00 00 00 00 00 00 00 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........onos...................
ed40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ed60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ed80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
eda0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
edc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ede0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ee00 23 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 30 31 35 20 48 75 61 77 65 69 20 54 65 63 68 #.Copyright.(c).2015.Huawei.Tech
ee20 6e 6f 6c 6f 67 69 65 73 20 49 6e 64 69 61 20 50 76 74 20 4c 74 64 0a 23 20 41 6c 6c 20 52 69 67 nologies.India.Pvt.Ltd.#.All.Rig
ee40 68 74 73 20 52 65 73 65 72 76 65 64 2e 0a 23 0a 23 20 20 20 20 4c 69 63 65 6e 73 65 64 20 75 6e hts.Reserved..#.#....Licensed.un
ee60 64 65 72 20 74 68 65 20 41 70 61 63 68 65 20 4c 69 63 65 6e 73 65 2c 20 56 65 72 73 69 6f 6e 20 der.the.Apache.License,.Version.
ee80 32 2e 30 20 28 74 68 65 20 22 4c 69 63 65 6e 73 65 22 29 3b 20 79 6f 75 20 6d 61 79 0a 23 20 20 2.0.(the."License");.you.may.#..
eea0 20 20 6e 6f 74 20 75 73 65 20 74 68 69 73 20 66 69 6c 65 20 65 78 63 65 70 74 20 69 6e 20 63 6f ..not.use.this.file.except.in.co
eec0 6d 70 6c 69 61 6e 63 65 20 77 69 74 68 20 74 68 65 20 4c 69 63 65 6e 73 65 2e 20 59 6f 75 20 6d mpliance.with.the.License..You.m
eee0 61 79 20 6f 62 74 61 69 6e 0a 23 20 20 20 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 4c 69 63 ay.obtain.#....a.copy.of.the.Lic
ef00 65 6e 73 65 20 61 74 0a 23 0a 23 20 20 20 20 20 20 20 20 20 68 74 74 70 3a 2f 2f 77 77 77 2e 61 ense.at.#.#.........http://www.a
ef20 70 61 63 68 65 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 4c 49 43 45 4e 53 45 2d 32 2e 30 0a 23 pache.org/licenses/LICENSE-2.0.#
ef40 0a 23 20 20 20 20 55 6e 6c 65 73 73 20 72 65 71 75 69 72 65 64 20 62 79 20 61 70 70 6c 69 63 61 .#....Unless.required.by.applica
ef60 62 6c 65 20 6c 61 77 20 6f 72 20 61 67 72 65 65 64 20 74 6f 20 69 6e 20 77 72 69 74 69 6e 67 2c ble.law.or.agreed.to.in.writing,
ef80 20 73 6f 66 74 77 61 72 65 0a 23 20 20 20 20 64 69 73 74 72 69 62 75 74 65 64 20 75 6e 64 65 72 .software.#....distributed.under
efa0 20 74 68 65 20 4c 69 63 65 6e 73 65 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 6f 6e 20 61 .the.License.is.distributed.on.a
efc0 6e 20 22 41 53 20 49 53 22 20 42 41 53 49 53 2c 20 57 49 54 48 4f 55 54 0a 23 20 20 20 20 57 41 n."AS.IS".BASIS,.WITHOUT.#....WA
efe0 52 52 41 4e 54 49 45 53 20 4f 52 20 43 4f 4e 44 49 54 49 4f 4e 53 20 4f 46 20 41 4e 59 20 4b 49 RRANTIES.OR.CONDITIONS.OF.ANY.KI
f000 4e 44 2c 20 65 69 74 68 65 72 20 65 78 70 72 65 73 73 20 6f 72 20 69 6d 70 6c 69 65 64 2e 20 53 ND,.either.express.or.implied..S
f020 65 65 20 74 68 65 0a 23 20 20 20 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 74 68 65 20 73 70 65 63 ee.the.#....License.for.the.spec
f040 69 66 69 63 20 6c 61 6e 67 75 61 67 65 20 67 6f 76 65 72 6e 69 6e 67 20 70 65 72 6d 69 73 73 69 ific.language.governing.permissi
f060 6f 6e 73 20 61 6e 64 20 6c 69 6d 69 74 61 74 69 6f 6e 73 0a 23 20 20 20 20 75 6e 64 65 72 20 74 ons.and.limitations.#....under.t
f080 68 65 20 4c 69 63 65 6e 73 65 2e 0a 0a 66 72 6f 6d 20 6f 73 6c 6f 5f 63 6f 6e 66 69 67 20 69 6d he.License...from.oslo_config.im
f0a0 70 6f 72 74 20 63 66 67 0a 0a 4f 4e 4f 53 5f 44 52 49 56 45 52 5f 4f 50 54 53 20 3d 20 5b 0a 20 port.cfg..ONOS_DRIVER_OPTS.=.[..
f0c0 20 20 20 63 66 67 2e 53 74 72 4f 70 74 28 27 75 72 6c 5f 70 61 74 68 27 2c 0a 20 20 20 20 20 20 ...cfg.StrOpt('url_path',.......
f0e0 20 20 20 20 20 20 20 20 20 64 65 66 61 75 6c 74 3d 27 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 .........default='',............
f100 20 20 20 20 68 65 6c 70 3d 5f 28 27 4f 4e 4f 53 20 52 65 53 54 20 69 6e 74 65 72 66 61 63 65 20 ....help=_('ONOS.ReST.interface.
f120 55 52 4c 27 29 29 2c 0a 20 20 20 20 63 66 67 2e 53 74 72 4f 70 74 28 27 75 73 65 72 6e 61 6d 65 URL')),.....cfg.StrOpt('username
f140 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 65 66 61 75 6c 74 3d 27 27 2c 0a 20 20 ',................default='',...
f160 20 20 20 20 20 20 20 20 20 20 20 20 20 68 65 6c 70 3d 5f 28 27 55 73 65 72 6e 61 6d 65 20 66 6f .............help=_('Username.fo
f180 72 20 61 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 2e 27 29 29 2c 0a 20 20 20 20 63 66 67 2e 53 74 r.authentication.')),.....cfg.St
f1a0 72 4f 70 74 28 27 70 61 73 73 77 6f 72 64 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rOpt('password',................
f1c0 64 65 66 61 75 6c 74 3d 27 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 63 72 65 default='',................secre
f1e0 74 3d 54 72 75 65 2c 20 20 23 20 64 6f 20 6e 6f 74 20 65 78 70 6f 73 65 20 76 61 6c 75 65 20 69 t=True,..#.do.not.expose.value.i
f200 6e 20 74 68 65 20 6c 6f 67 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 68 65 6c 70 3d 5f n.the.logs................help=_
f220 28 27 50 61 73 73 77 6f 72 64 20 66 6f 72 20 61 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 2e 27 29 ('Password.for.authentication.')
f240 29 0a 5d 0a 0a 63 66 67 2e 43 4f 4e 46 2e 72 65 67 69 73 74 65 72 5f 6f 70 74 73 28 4f 4e 4f 53 ).]..cfg.CONF.register_opts(ONOS
f260 5f 44 52 49 56 45 52 5f 4f 50 54 53 2c 20 22 6f 6e 6f 73 22 29 0a 00 00 00 00 00 00 00 00 00 00 _DRIVER_OPTS,."onos")...........
f280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f2a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f2c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f2e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f3a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f3c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f3e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f400 6e 65 74 77 6f 72 6b 69 6e 67 2d 6f 6e 6f 73 2f 6e 65 74 77 6f 72 6b 69 6e 67 5f 6f 6e 6f 73 2f networking-onos/networking_onos/
f420 63 6f 6d 6d 6f 6e 2f 5f 5f 69 6e 69 74 5f 5f 2e 70 79 00 00 00 00 00 00 00 00 00 00 00 00 00 00 common/__init__.py..............
f440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f460 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000644.0001750.0001750.0000
f480 30 30 30 30 30 30 30 00 31 32 36 32 37 35 31 33 34 34 32 00 30 32 31 35 36 31 00 20 30 00 00 00 0000000.12627513442.021561..0...
f4a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f4c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f4e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f500 00 75 73 74 61 72 20 20 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...onos...................
f520 00 00 00 00 00 00 00 00 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........onos...................
f540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f5a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f5c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f5e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f600 6e 65 74 77 6f 72 6b 69 6e 67 2d 6f 6e 6f 73 2f 6e 65 74 77 6f 72 6b 69 6e 67 5f 6f 6e 6f 73 2f networking-onos/networking_onos/
f620 63 6f 6d 6d 6f 6e 2f 75 74 69 6c 73 2e 70 79 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 common/utils.py.................
f640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f660 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000644.0001750.0001750.0000
f680 30 30 30 33 31 33 37 00 31 32 36 32 37 35 31 33 34 34 32 00 30 32 31 32 30 30 00 20 30 00 00 00 0003137.12627513442.021200..0...
f6a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f6c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f6e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f700 00 75 73 74 61 72 20 20 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...onos...................
f720 00 00 00 00 00 00 00 00 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........onos...................
f740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f7a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f7c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f7e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f800 23 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 30 31 35 20 48 75 61 77 65 69 20 54 65 63 68 #.Copyright.(c).2015.Huawei.Tech
f820 6e 6f 6c 6f 67 69 65 73 20 49 6e 64 69 61 20 50 76 74 20 4c 74 64 0a 23 20 41 6c 6c 20 52 69 67 nologies.India.Pvt.Ltd.#.All.Rig
f840 68 74 73 20 52 65 73 65 72 76 65 64 2e 0a 23 0a 23 20 20 20 20 4c 69 63 65 6e 73 65 64 20 75 6e hts.Reserved..#.#....Licensed.un
f860 64 65 72 20 74 68 65 20 41 70 61 63 68 65 20 4c 69 63 65 6e 73 65 2c 20 56 65 72 73 69 6f 6e 20 der.the.Apache.License,.Version.
f880 32 2e 30 20 28 74 68 65 20 22 4c 69 63 65 6e 73 65 22 29 3b 20 79 6f 75 20 6d 61 79 0a 23 20 20 2.0.(the."License");.you.may.#..
f8a0 20 20 6e 6f 74 20 75 73 65 20 74 68 69 73 20 66 69 6c 65 20 65 78 63 65 70 74 20 69 6e 20 63 6f ..not.use.this.file.except.in.co
f8c0 6d 70 6c 69 61 6e 63 65 20 77 69 74 68 20 74 68 65 20 4c 69 63 65 6e 73 65 2e 20 59 6f 75 20 6d mpliance.with.the.License..You.m
f8e0 61 79 20 6f 62 74 61 69 6e 0a 23 20 20 20 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 4c 69 63 ay.obtain.#....a.copy.of.the.Lic
f900 65 6e 73 65 20 61 74 0a 23 0a 23 20 20 20 20 20 20 20 20 20 68 74 74 70 3a 2f 2f 77 77 77 2e 61 ense.at.#.#.........http://www.a
f920 70 61 63 68 65 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 4c 49 43 45 4e 53 45 2d 32 2e 30 0a 23 pache.org/licenses/LICENSE-2.0.#
f940 0a 23 20 20 20 20 55 6e 6c 65 73 73 20 72 65 71 75 69 72 65 64 20 62 79 20 61 70 70 6c 69 63 61 .#....Unless.required.by.applica
f960 62 6c 65 20 6c 61 77 20 6f 72 20 61 67 72 65 65 64 20 74 6f 20 69 6e 20 77 72 69 74 69 6e 67 2c ble.law.or.agreed.to.in.writing,
f980 20 73 6f 66 74 77 61 72 65 0a 23 20 20 20 20 64 69 73 74 72 69 62 75 74 65 64 20 75 6e 64 65 72 .software.#....distributed.under
f9a0 20 74 68 65 20 4c 69 63 65 6e 73 65 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 6f 6e 20 61 .the.License.is.distributed.on.a
f9c0 6e 20 22 41 53 20 49 53 22 20 42 41 53 49 53 2c 20 57 49 54 48 4f 55 54 0a 23 20 20 20 20 57 41 n."AS.IS".BASIS,.WITHOUT.#....WA
f9e0 52 52 41 4e 54 49 45 53 20 4f 52 20 43 4f 4e 44 49 54 49 4f 4e 53 20 4f 46 20 41 4e 59 20 4b 49 RRANTIES.OR.CONDITIONS.OF.ANY.KI
fa00 4e 44 2c 20 65 69 74 68 65 72 20 65 78 70 72 65 73 73 20 6f 72 20 69 6d 70 6c 69 65 64 2e 20 53 ND,.either.express.or.implied..S
fa20 65 65 20 74 68 65 0a 23 20 20 20 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 74 68 65 20 73 70 65 63 ee.the.#....License.for.the.spec
fa40 69 66 69 63 20 6c 61 6e 67 75 61 67 65 20 67 6f 76 65 72 6e 69 6e 67 20 70 65 72 6d 69 73 73 69 ific.language.governing.permissi
fa60 6f 6e 73 20 61 6e 64 20 6c 69 6d 69 74 61 74 69 6f 6e 73 0a 23 20 20 20 20 75 6e 64 65 72 20 74 ons.and.limitations.#....under.t
fa80 68 65 20 4c 69 63 65 6e 73 65 2e 0a 0a 66 72 6f 6d 20 6f 73 6c 6f 5f 6c 6f 67 20 69 6d 70 6f 72 he.License...from.oslo_log.impor
faa0 74 20 6c 6f 67 20 61 73 20 6c 6f 67 67 69 6e 67 0a 66 72 6f 6d 20 6f 73 6c 6f 5f 73 65 72 69 61 t.log.as.logging.from.oslo_seria
fac0 6c 69 7a 61 74 69 6f 6e 20 69 6d 70 6f 72 74 20 6a 73 6f 6e 75 74 69 6c 73 0a 69 6d 70 6f 72 74 lization.import.jsonutils.import
fae0 20 72 65 71 75 65 73 74 73 0a 0a 0a 4c 4f 47 20 3d 20 6c 6f 67 67 69 6e 67 2e 67 65 74 4c 6f 67 .requests...LOG.=.logging.getLog
fb00 67 65 72 28 5f 5f 6e 61 6d 65 5f 5f 29 0a 0a 0a 64 65 66 20 73 65 6e 64 5f 6d 73 67 28 6f 6e 6f ger(__name__)...def.send_msg(ono
fb20 73 5f 70 61 74 68 2c 20 6f 6e 6f 73 5f 61 75 74 68 2c 20 6d 73 67 5f 74 79 70 65 2c 20 65 6e 74 s_path,.onos_auth,.msg_type,.ent
fb40 69 74 79 5f 70 61 74 68 2c 20 65 6e 74 69 74 79 3d 4e 6f 6e 65 29 3a 0a 20 20 20 20 22 22 22 53 ity_path,.entity=None):....."""S
fb60 65 6e 64 20 6d 65 73 73 61 67 65 20 74 6f 20 74 68 65 20 4f 4e 4f 53 20 63 6f 6e 74 72 6f 6c 6c end.message.to.the.ONOS.controll
fb80 65 72 2e 22 22 22 0a 0a 20 20 20 20 70 61 74 68 20 3d 20 27 2f 27 2e 6a 6f 69 6e 28 5b 6f 6e 6f er."""......path.=.'/'.join([ono
fba0 73 5f 70 61 74 68 2c 20 65 6e 74 69 74 79 5f 70 61 74 68 5d 29 0a 20 20 20 20 68 64 72 20 3d 20 s_path,.entity_path]).....hdr.=.
fbc0 7b 27 43 6f 6e 74 65 6e 74 2d 54 79 70 65 27 3a 20 27 61 70 70 6c 69 63 61 74 69 6f 6e 2f 6a 73 {'Content-Type':.'application/js
fbe0 6f 6e 27 7d 0a 20 20 20 20 62 6f 64 79 20 3d 20 6a 73 6f 6e 75 74 69 6c 73 2e 64 75 6d 70 73 28 on'}.....body.=.jsonutils.dumps(
fc00 65 6e 74 69 74 79 2c 20 69 6e 64 65 6e 74 3d 32 29 20 69 66 20 65 6e 74 69 74 79 20 65 6c 73 65 entity,.indent=2).if.entity.else
fc20 20 4e 6f 6e 65 0a 20 20 20 20 4c 4f 47 2e 64 65 62 75 67 28 22 53 65 6e 64 69 6e 67 20 4d 53 47 .None.....LOG.debug("Sending.MSG
fc40 5f 54 59 50 45 20 28 25 28 6d 73 67 29 73 29 20 55 52 4c 20 28 25 28 70 61 74 68 29 73 29 20 22 _TYPE.(%(msg)s).URL.(%(path)s)."
fc60 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 4f 42 4a 45 43 54 20 28 25 28 65 6e 74 69 74 79 ..............."OBJECT.(%(entity
fc80 29 73 29 20 42 4f 44 59 20 28 25 28 62 6f 64 79 29 73 29 22 2c 0a 20 20 20 20 20 20 20 20 20 20 )s).BODY.(%(body)s)",...........
fca0 20 20 20 20 7b 27 6d 73 67 27 3a 20 6d 73 67 5f 74 79 70 65 2c 20 27 70 61 74 68 27 3a 20 70 61 ....{'msg':.msg_type,.'path':.pa
fcc0 74 68 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 65 6e 74 69 74 79 27 3a 20 65 6e 74 th,................'entity':.ent
fce0 69 74 79 2c 20 27 62 6f 64 79 27 3a 20 62 6f 64 79 7d 29 0a 20 20 20 20 72 65 71 20 3d 20 72 65 ity,.'body':.body}).....req.=.re
fd00 71 75 65 73 74 73 2e 72 65 71 75 65 73 74 28 6d 65 74 68 6f 64 3d 6d 73 67 5f 74 79 70 65 2c 20 quests.request(method=msg_type,.
fd20 75 72 6c 3d 70 61 74 68 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 url=path,.......................
fd40 20 20 20 20 20 68 65 61 64 65 72 73 3d 68 64 72 2c 20 64 61 74 61 3d 62 6f 64 79 2c 0a 20 20 20 .....headers=hdr,.data=body,....
fd60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 75 74 68 3d 6f 6e 6f ........................auth=ono
fd80 73 5f 61 75 74 68 29 0a 20 20 20 20 23 20 4c 65 74 27 73 20 72 61 69 73 65 20 76 6f 69 63 65 20 s_auth).....#.Let's.raise.voice.
fda0 66 6f 72 20 61 6e 20 65 72 72 6f 72 0a 20 20 20 20 72 65 71 2e 72 61 69 73 65 5f 66 6f 72 5f 73 for.an.error.....req.raise_for_s
fdc0 74 61 74 75 73 28 29 0a 0a 0a 64 65 66 20 73 61 66 65 5f 64 65 6c 65 74 65 5f 66 72 6f 6d 5f 64 tatus()...def.safe_delete_from_d
fde0 69 63 74 28 64 69 63 74 2c 20 6b 65 79 73 29 3a 0a 20 20 20 20 22 22 22 49 67 6e 6f 72 65 20 6b ict(dict,.keys):....."""Ignore.k
fe00 65 79 20 65 72 72 6f 72 73 20 77 68 65 6e 20 64 65 6c 65 74 69 6e 67 20 66 72 6f 6d 20 61 20 64 ey.errors.when.deleting.from.a.d
fe20 69 63 74 69 6f 6e 61 72 79 2e 22 22 22 0a 20 20 20 20 66 6f 72 20 6b 65 79 20 69 6e 20 6b 65 79 ictionary.""".....for.key.in.key
fe40 73 3a 0a 20 20 20 20 20 20 20 20 64 69 63 74 2e 70 6f 70 28 6b 65 79 2c 20 4e 6f 6e 65 29 0a 00 s:.........dict.pop(key,.None)..
fe60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fe80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ff00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ff20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ff40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ff60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ff80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ffa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ffc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ffe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10000 6e 65 74 77 6f 72 6b 69 6e 67 2d 6f 6e 6f 73 2f 69 6e 73 74 61 6c 6c 5f 64 72 69 76 65 72 2e 73 networking-onos/install_driver.s
10020 68 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 h...............................
10040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10060 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000755.0001750.0001750.0000
10080 30 30 30 30 33 37 30 00 31 32 36 32 37 35 34 34 34 34 36 00 30 31 36 33 33 35 00 20 30 00 00 00 0000370.12627544446.016335..0...
100a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
100c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
100e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10100 00 75 73 74 61 72 20 20 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...onos...................
10120 00 00 00 00 00 00 00 00 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........onos...................
10140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
101a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
101c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
101e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10200 23 21 2f 62 69 6e 2f 62 61 73 68 0a 0a 77 68 69 63 68 20 6e 65 75 74 72 6f 6e 0a 23 63 68 65 63 #!/bin/bash..which.neutron.#chec
10220 6b 20 6e 65 75 74 72 6f 6e 20 69 6e 73 74 61 6c 6c 20 6f 6e 20 6d 61 63 68 69 6e 65 0a 69 66 20 k.neutron.install.on.machine.if.
10240 5b 20 24 3f 20 21 3d 20 30 20 5d 3b 20 74 68 65 6e 0a 20 20 20 20 65 63 68 6f 20 22 50 6c 65 61 [.$?.!=.0.];.then.....echo."Plea
10260 73 65 20 69 6e 73 74 61 6c 6c 20 6f 70 65 6e 73 74 61 63 6b 20 6e 65 75 74 72 6f 6e 20 62 65 66 se.install.openstack.neutron.bef
10280 6f 72 65 20 69 6e 73 74 61 6c 6c 20 6f 6e 6f 73 20 64 72 69 76 65 72 22 0a 20 20 20 20 65 78 69 ore.install.onos.driver".....exi
102a0 74 0a 66 69 0a 65 78 70 6f 72 74 20 50 42 52 5f 56 45 52 53 49 4f 4e 3d 31 2e 30 2e 30 0a 63 64 t.fi.export.PBR_VERSION=1.0.0.cd
102c0 20 2f 6f 70 74 2f 6e 65 74 77 6f 72 6b 69 6e 67 2d 6f 6e 6f 73 2f 0a 2f 75 73 72 2f 62 69 6e 2f ./opt/networking-onos/./usr/bin/
102e0 70 79 74 68 6f 6e 20 73 65 74 75 70 2e 70 79 20 69 6e 73 74 61 6c 6c 0a 00 00 00 00 00 00 00 00 python.setup.py.install.........
10300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
103a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
103c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
103e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10400 6e 65 74 77 6f 72 6b 69 6e 67 2d 6f 6e 6f 73 2f 43 4f 4e 54 52 49 42 55 54 49 4e 47 2e 72 73 74 networking-onos/CONTRIBUTING.rst
10420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10460 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000644.0001750.0001750.0000
10480 30 30 30 31 30 37 30 00 31 32 36 32 37 35 31 33 34 34 32 00 30 31 35 34 30 34 00 20 30 00 00 00 0001070.12627513442.015404..0...
104a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
104c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
104e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10500 00 75 73 74 61 72 20 20 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...onos...................
10520 00 00 00 00 00 00 00 00 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........onos...................
10540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
105a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
105c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
105e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10600 49 66 20 79 6f 75 20 77 6f 75 6c 64 20 6c 69 6b 65 20 74 6f 20 63 6f 6e 74 72 69 62 75 74 65 20 If.you.would.like.to.contribute.
10620 74 6f 20 74 68 65 20 64 65 76 65 6c 6f 70 6d 65 6e 74 20 6f 66 20 4f 70 65 6e 53 74 61 63 6b 2c to.the.development.of.OpenStack,
10640 0a 79 6f 75 20 6d 75 73 74 20 66 6f 6c 6c 6f 77 20 74 68 65 20 73 74 65 70 73 20 64 6f 63 75 6d .you.must.follow.the.steps.docum
10660 65 6e 74 65 64 20 61 74 3a 0a 0a 20 20 20 68 74 74 70 3a 2f 2f 64 6f 63 73 2e 6f 70 65 6e 73 74 ented.at:.....http://docs.openst
10680 61 63 6b 2e 6f 72 67 2f 69 6e 66 72 61 2f 6d 61 6e 75 61 6c 2f 64 65 76 65 6c 6f 70 65 72 73 2e ack.org/infra/manual/developers.
106a0 68 74 6d 6c 23 64 65 76 65 6c 6f 70 6d 65 6e 74 2d 77 6f 72 6b 66 6c 6f 77 0a 0a 4f 6e 63 65 20 html#development-workflow..Once.
106c0 74 68 6f 73 65 20 73 74 65 70 73 20 68 61 76 65 20 62 65 65 6e 20 63 6f 6d 70 6c 65 74 65 64 2c those.steps.have.been.completed,
106e0 20 63 68 61 6e 67 65 73 20 74 6f 20 4f 70 65 6e 53 74 61 63 6b 0a 73 68 6f 75 6c 64 20 62 65 20 .changes.to.OpenStack.should.be.
10700 73 75 62 6d 69 74 74 65 64 20 66 6f 72 20 72 65 76 69 65 77 20 76 69 61 20 74 68 65 20 47 65 72 submitted.for.review.via.the.Ger
10720 72 69 74 20 74 6f 6f 6c 2c 20 66 6f 6c 6c 6f 77 69 6e 67 0a 74 68 65 20 77 6f 72 6b 66 6c 6f 77 rit.tool,.following.the.workflow
10740 20 64 6f 63 75 6d 65 6e 74 65 64 20 61 74 3a 0a 0a 20 20 20 68 74 74 70 3a 2f 2f 64 6f 63 73 2e .documented.at:.....http://docs.
10760 6f 70 65 6e 73 74 61 63 6b 2e 6f 72 67 2f 69 6e 66 72 61 2f 6d 61 6e 75 61 6c 2f 64 65 76 65 6c openstack.org/infra/manual/devel
10780 6f 70 65 72 73 2e 68 74 6d 6c 23 64 65 76 65 6c 6f 70 6d 65 6e 74 2d 77 6f 72 6b 66 6c 6f 77 0a opers.html#development-workflow.
107a0 0a 50 75 6c 6c 20 72 65 71 75 65 73 74 73 20 73 75 62 6d 69 74 74 65 64 20 74 68 72 6f 75 67 68 .Pull.requests.submitted.through
107c0 20 47 69 74 48 75 62 20 77 69 6c 6c 20 62 65 20 69 67 6e 6f 72 65 64 2e 0a 0a 42 75 67 73 20 73 .GitHub.will.be.ignored...Bugs.s
107e0 68 6f 75 6c 64 20 62 65 20 66 69 6c 65 64 20 6f 6e 20 4c 61 75 6e 63 68 70 61 64 2c 20 6e 6f 74 hould.be.filed.on.Launchpad,.not
10800 20 47 69 74 48 75 62 3a 0a 0a 20 20 20 68 74 74 70 73 3a 2f 2f 62 75 67 73 2e 6c 61 75 6e 63 68 .GitHub:.....https://bugs.launch
10820 70 61 64 2e 6e 65 74 2f 6e 65 74 77 6f 72 6b 69 6e 67 2d 6f 6e 6f 73 0a 00 00 00 00 00 00 00 00 pad.net/networking-onos.........
10840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
108a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
108c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
108e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
109a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
109c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
109e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10a00 6e 65 74 77 6f 72 6b 69 6e 67 2d 6f 6e 6f 73 2f 65 74 63 2f 00 00 00 00 00 00 00 00 00 00 00 00 networking-onos/etc/............
10a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10a60 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000755.0001750.0001750.0000
10a80 30 30 30 30 30 30 30 00 31 32 36 32 37 35 31 33 34 34 32 00 30 31 33 35 32 30 00 20 35 00 00 00 0000000.12627513442.013520..5...
10aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10b00 00 75 73 74 61 72 20 20 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...onos...................
10b20 00 00 00 00 00 00 00 00 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........onos...................
10b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10c00 6e 65 74 77 6f 72 6b 69 6e 67 2d 6f 6e 6f 73 2f 65 74 63 2f 63 6f 6e 66 5f 6f 6e 6f 73 2e 69 6e networking-onos/etc/conf_onos.in
10c20 69 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 i...............................
10c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10c60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000644.0001750.0001750.0000
10c80 30 30 30 30 34 33 35 00 31 32 36 32 37 35 31 33 34 34 32 00 30 31 36 32 30 36 00 20 30 00 00 00 0000435.12627513442.016206..0...
10ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10d00 00 75 73 74 61 72 20 20 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...onos...................
10d20 00 00 00 00 00 00 00 00 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........onos...................
10d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10e00 23 43 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 6f 70 74 69 6f 6e 73 20 66 6f 72 20 4f 4e 4f 53 20 #Configuration.options.for.ONOS.
10e20 64 72 69 76 65 72 0a 0a 5b 6f 6e 6f 73 5d 0a 23 20 28 53 74 72 4f 70 74 29 20 4f 4e 4f 53 20 52 driver..[onos].#.(StrOpt).ONOS.R
10e40 65 53 54 20 69 6e 74 65 72 66 61 63 65 20 55 52 4c 2e 20 54 68 69 73 20 69 73 20 61 20 6d 61 6e eST.interface.URL..This.is.a.man
10e60 64 61 74 6f 72 79 20 66 69 65 6c 64 2e 0a 23 20 75 72 6c 5f 70 61 74 68 20 3d 0a 0a 23 20 28 53 datory.field..#.url_path.=..#.(S
10e80 74 72 4f 70 74 29 20 55 73 65 72 6e 61 6d 65 20 66 6f 72 20 61 75 74 68 65 6e 74 69 63 61 74 69 trOpt).Username.for.authenticati
10ea0 6f 6e 2e 20 54 68 69 73 20 69 73 20 61 20 6d 61 6e 64 61 74 6f 72 79 20 66 69 65 6c 64 2e 0a 23 on..This.is.a.mandatory.field..#
10ec0 20 75 73 65 72 6e 61 6d 65 20 3d 0a 0a 23 20 28 53 74 72 4f 70 74 29 20 50 61 73 73 77 6f 72 64 .username.=..#.(StrOpt).Password
10ee0 20 66 6f 72 20 61 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 2e 20 54 68 69 73 20 69 73 20 61 20 6d .for.authentication..This.is.a.m
10f00 61 6e 64 61 74 6f 72 79 20 66 69 65 6c 64 2e 0a 23 20 70 61 73 73 77 6f 72 64 20 3d 0a 00 00 00 andatory.field..#.password.=....
10f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11000 6e 65 74 77 6f 72 6b 69 6e 67 2d 6f 6e 6f 73 2f 74 65 73 74 2d 72 65 71 75 69 72 65 6d 65 6e 74 networking-onos/test-requirement
11020 73 2e 74 78 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 s.txt...........................
11040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11060 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000644.0001750.0001750.0000
11080 30 30 30 30 36 36 37 00 31 32 36 32 37 35 31 33 34 34 32 00 30 31 37 32 31 37 00 20 30 00 00 00 0000667.12627513442.017217..0...
110a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
110c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
110e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11100 00 75 73 74 61 72 20 20 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...onos...................
11120 00 00 00 00 00 00 00 00 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........onos...................
11140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
111a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
111c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
111e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11200 23 20 54 68 65 20 6f 72 64 65 72 20 6f 66 20 70 61 63 6b 61 67 65 73 20 69 73 20 73 69 67 6e 69 #.The.order.of.packages.is.signi
11220 66 69 63 61 6e 74 2c 20 62 65 63 61 75 73 65 20 70 69 70 20 70 72 6f 63 65 73 73 65 73 20 74 68 ficant,.because.pip.processes.th
11240 65 6d 20 69 6e 20 74 68 65 20 6f 72 64 65 72 0a 23 20 6f 66 20 61 70 70 65 61 72 61 6e 63 65 2e em.in.the.order.#.of.appearance.
11260 20 43 68 61 6e 67 69 6e 67 20 74 68 65 20 6f 72 64 65 72 20 68 61 73 20 61 6e 20 69 6d 70 61 63 .Changing.the.order.has.an.impac
11280 74 20 6f 6e 20 74 68 65 20 6f 76 65 72 61 6c 6c 20 69 6e 74 65 67 72 61 74 69 6f 6e 0a 23 20 70 t.on.the.overall.integration.#.p
112a0 72 6f 63 65 73 73 2c 20 77 68 69 63 68 20 6d 61 79 20 63 61 75 73 65 20 77 65 64 67 65 73 20 69 rocess,.which.may.cause.wedges.i
112c0 6e 20 74 68 65 20 67 61 74 65 20 6c 61 74 65 72 2e 0a 0a 68 61 63 6b 69 6e 67 3c 30 2e 31 31 2c n.the.gate.later...hacking<0.11,
112e0 3e 3d 30 2e 31 30 2e 30 0a 0a 63 6f 76 65 72 61 67 65 3e 3d 33 2e 36 0a 70 79 74 68 6f 6e 2d 73 >=0.10.0..coverage>=3.6.python-s
11300 75 62 75 6e 69 74 3e 3d 30 2e 30 2e 31 38 0a 73 70 68 69 6e 78 21 3d 31 2e 32 2e 30 2c 21 3d 31 ubunit>=0.0.18.sphinx!=1.2.0,!=1
11320 2e 33 62 31 2c 3c 31 2e 33 2c 3e 3d 31 2e 31 2e 32 0a 6f 73 6c 6f 73 70 68 69 6e 78 3e 3d 32 2e .3b1,<1.3,>=1.1.2.oslosphinx>=2.
11340 35 2e 30 20 23 20 41 70 61 63 68 65 2d 32 2e 30 0a 6f 73 6c 6f 74 65 73 74 3e 3d 31 2e 31 30 2e 5.0.#.Apache-2.0.oslotest>=1.10.
11360 30 20 23 20 41 70 61 63 68 65 2d 32 2e 30 0a 74 65 73 74 72 65 70 6f 73 69 74 6f 72 79 3e 3d 30 0.#.Apache-2.0.testrepository>=0
11380 2e 30 2e 31 38 0a 74 65 73 74 73 63 65 6e 61 72 69 6f 73 3e 3d 30 2e 34 0a 57 65 62 54 65 73 74 .0.18.testscenarios>=0.4.WebTest
113a0 3e 3d 32 2e 30 0a 74 65 73 74 74 6f 6f 6c 73 3e 3d 31 2e 34 2e 30 0a 00 00 00 00 00 00 00 00 00 >=2.0.testtools>=1.4.0..........
113c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
113e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11400 6e 65 74 77 6f 72 6b 69 6e 67 2d 6f 6e 6f 73 2f 62 61 62 65 6c 2e 63 66 67 00 00 00 00 00 00 00 networking-onos/babel.cfg.......
11420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11460 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000644.0001750.0001750.0000
11480 30 30 30 30 30 32 31 00 31 32 36 32 37 35 31 33 34 34 32 00 30 31 34 34 36 34 00 20 30 00 00 00 0000021.12627513442.014464..0...
114a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
114c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
114e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11500 00 75 73 74 61 72 20 20 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...onos...................
11520 00 00 00 00 00 00 00 00 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........onos...................
11540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
115a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
115c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
115e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11600 5b 70 79 74 68 6f 6e 3a 20 2a 2a 2e 70 79 5d 0a 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [python:.**.py].................
11620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
116a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
116c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
116e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
117a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
117c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
117e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11800 6e 65 74 77 6f 72 6b 69 6e 67 2d 6f 6e 6f 73 2f 4d 41 4e 49 46 45 53 54 2e 69 6e 00 00 00 00 00 networking-onos/MANIFEST.in.....
11820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11860 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000644.0001750.0001750.0000
11880 30 30 30 30 32 30 32 00 31 32 36 32 37 35 31 33 34 34 32 00 30 31 34 34 37 35 00 20 30 00 00 00 0000202.12627513442.014475..0...
118a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
118c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
118e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11900 00 75 73 74 61 72 20 20 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...onos...................
11920 00 00 00 00 00 00 00 00 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........onos...................
11940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
119a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
119c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
119e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11a00 69 6e 63 6c 75 64 65 20 41 55 54 48 4f 52 53 0a 69 6e 63 6c 75 64 65 20 52 45 41 44 4d 45 2e 72 include.AUTHORS.include.README.r
11a20 73 74 0a 69 6e 63 6c 75 64 65 20 43 68 61 6e 67 65 4c 6f 67 0a 69 6e 63 6c 75 64 65 20 4c 49 43 st.include.ChangeLog.include.LIC
11a40 45 4e 53 45 0a 0a 65 78 63 6c 75 64 65 20 2e 67 69 74 69 67 6e 6f 72 65 0a 65 78 63 6c 75 64 65 ENSE..exclude..gitignore.exclude
11a60 20 2e 67 69 74 72 65 76 69 65 77 0a 0a 67 6c 6f 62 61 6c 2d 65 78 63 6c 75 64 65 20 2a 2e 70 79 ..gitreview..global-exclude.*.py
11a80 63 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 c...............................
11aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11c00 6e 65 74 77 6f 72 6b 69 6e 67 2d 6f 6e 6f 73 2f 4c 49 43 45 4e 53 45 00 00 00 00 00 00 00 00 00 networking-onos/LICENSE.........
11c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11c60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000644.0001750.0001750.0000
11c80 30 30 32 33 36 33 37 00 31 32 36 32 37 35 31 33 34 34 32 00 30 31 33 37 36 35 00 20 30 00 00 00 0023637.12627513442.013765..0...
11ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11d00 00 75 73 74 61 72 20 20 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...onos...................
11d20 00 00 00 00 00 00 00 00 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........onos...................
11d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11e00 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
11e20 20 20 41 70 61 63 68 65 20 4c 69 63 65 6e 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..Apache.License................
11e40 20 20 20 20 20 20 20 20 20 20 20 20 56 65 72 73 69 6f 6e 20 32 2e 30 2c 20 4a 61 6e 75 61 72 79 ............Version.2.0,.January
11e60 20 32 30 30 34 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 68 74 .2004.........................ht
11e80 74 70 3a 2f 2f 77 77 77 2e 61 70 61 63 68 65 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 0a 0a 20 tp://www.apache.org/licenses/...
11ea0 20 20 54 45 52 4d 53 20 41 4e 44 20 43 4f 4e 44 49 54 49 4f 4e 53 20 46 4f 52 20 55 53 45 2c 20 ..TERMS.AND.CONDITIONS.FOR.USE,.
11ec0 52 45 50 52 4f 44 55 43 54 49 4f 4e 2c 20 41 4e 44 20 44 49 53 54 52 49 42 55 54 49 4f 4e 0a 0a REPRODUCTION,.AND.DISTRIBUTION..
11ee0 20 20 20 31 2e 20 44 65 66 69 6e 69 74 69 6f 6e 73 2e 0a 0a 20 20 20 20 20 20 22 4c 69 63 65 6e ...1..Definitions........."Licen
11f00 73 65 22 20 73 68 61 6c 6c 20 6d 65 61 6e 20 74 68 65 20 74 65 72 6d 73 20 61 6e 64 20 63 6f 6e se".shall.mean.the.terms.and.con
11f20 64 69 74 69 6f 6e 73 20 66 6f 72 20 75 73 65 2c 20 72 65 70 72 6f 64 75 63 74 69 6f 6e 2c 0a 20 ditions.for.use,.reproduction,..
11f40 20 20 20 20 20 61 6e 64 20 64 69 73 74 72 69 62 75 74 69 6f 6e 20 61 73 20 64 65 66 69 6e 65 64 .....and.distribution.as.defined
11f60 20 62 79 20 53 65 63 74 69 6f 6e 73 20 31 20 74 68 72 6f 75 67 68 20 39 20 6f 66 20 74 68 69 73 .by.Sections.1.through.9.of.this
11f80 20 64 6f 63 75 6d 65 6e 74 2e 0a 0a 20 20 20 20 20 20 22 4c 69 63 65 6e 73 6f 72 22 20 73 68 61 .document........."Licensor".sha
11fa0 6c 6c 20 6d 65 61 6e 20 74 68 65 20 63 6f 70 79 72 69 67 68 74 20 6f 77 6e 65 72 20 6f 72 20 65 ll.mean.the.copyright.owner.or.e
11fc0 6e 74 69 74 79 20 61 75 74 68 6f 72 69 7a 65 64 20 62 79 0a 20 20 20 20 20 20 74 68 65 20 63 6f ntity.authorized.by.......the.co
11fe0 70 79 72 69 67 68 74 20 6f 77 6e 65 72 20 74 68 61 74 20 69 73 20 67 72 61 6e 74 69 6e 67 20 74 pyright.owner.that.is.granting.t
12000 68 65 20 4c 69 63 65 6e 73 65 2e 0a 0a 20 20 20 20 20 20 22 4c 65 67 61 6c 20 45 6e 74 69 74 79 he.License........."Legal.Entity
12020 22 20 73 68 61 6c 6c 20 6d 65 61 6e 20 74 68 65 20 75 6e 69 6f 6e 20 6f 66 20 74 68 65 20 61 63 ".shall.mean.the.union.of.the.ac
12040 74 69 6e 67 20 65 6e 74 69 74 79 20 61 6e 64 20 61 6c 6c 0a 20 20 20 20 20 20 6f 74 68 65 72 20 ting.entity.and.all.......other.
12060 65 6e 74 69 74 69 65 73 20 74 68 61 74 20 63 6f 6e 74 72 6f 6c 2c 20 61 72 65 20 63 6f 6e 74 72 entities.that.control,.are.contr
12080 6f 6c 6c 65 64 20 62 79 2c 20 6f 72 20 61 72 65 20 75 6e 64 65 72 20 63 6f 6d 6d 6f 6e 0a 20 20 olled.by,.or.are.under.common...
120a0 20 20 20 20 63 6f 6e 74 72 6f 6c 20 77 69 74 68 20 74 68 61 74 20 65 6e 74 69 74 79 2e 20 46 6f ....control.with.that.entity..Fo
120c0 72 20 74 68 65 20 70 75 72 70 6f 73 65 73 20 6f 66 20 74 68 69 73 20 64 65 66 69 6e 69 74 69 6f r.the.purposes.of.this.definitio
120e0 6e 2c 0a 20 20 20 20 20 20 22 63 6f 6e 74 72 6f 6c 22 20 6d 65 61 6e 73 20 28 69 29 20 74 68 65 n,......."control".means.(i).the
12100 20 70 6f 77 65 72 2c 20 64 69 72 65 63 74 20 6f 72 20 69 6e 64 69 72 65 63 74 2c 20 74 6f 20 63 .power,.direct.or.indirect,.to.c
12120 61 75 73 65 20 74 68 65 0a 20 20 20 20 20 20 64 69 72 65 63 74 69 6f 6e 20 6f 72 20 6d 61 6e 61 ause.the.......direction.or.mana
12140 67 65 6d 65 6e 74 20 6f 66 20 73 75 63 68 20 65 6e 74 69 74 79 2c 20 77 68 65 74 68 65 72 20 62 gement.of.such.entity,.whether.b
12160 79 20 63 6f 6e 74 72 61 63 74 20 6f 72 0a 20 20 20 20 20 20 6f 74 68 65 72 77 69 73 65 2c 20 6f y.contract.or.......otherwise,.o
12180 72 20 28 69 69 29 20 6f 77 6e 65 72 73 68 69 70 20 6f 66 20 66 69 66 74 79 20 70 65 72 63 65 6e r.(ii).ownership.of.fifty.percen
121a0 74 20 28 35 30 25 29 20 6f 72 20 6d 6f 72 65 20 6f 66 20 74 68 65 0a 20 20 20 20 20 20 6f 75 74 t.(50%).or.more.of.the.......out
121c0 73 74 61 6e 64 69 6e 67 20 73 68 61 72 65 73 2c 20 6f 72 20 28 69 69 69 29 20 62 65 6e 65 66 69 standing.shares,.or.(iii).benefi
121e0 63 69 61 6c 20 6f 77 6e 65 72 73 68 69 70 20 6f 66 20 73 75 63 68 20 65 6e 74 69 74 79 2e 0a 0a cial.ownership.of.such.entity...
12200 20 20 20 20 20 20 22 59 6f 75 22 20 28 6f 72 20 22 59 6f 75 72 22 29 20 73 68 61 6c 6c 20 6d 65 ......"You".(or."Your").shall.me
12220 61 6e 20 61 6e 20 69 6e 64 69 76 69 64 75 61 6c 20 6f 72 20 4c 65 67 61 6c 20 45 6e 74 69 74 79 an.an.individual.or.Legal.Entity
12240 0a 20 20 20 20 20 20 65 78 65 72 63 69 73 69 6e 67 20 70 65 72 6d 69 73 73 69 6f 6e 73 20 67 72 .......exercising.permissions.gr
12260 61 6e 74 65 64 20 62 79 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 0a 0a 20 20 20 20 20 20 22 53 anted.by.this.License........."S
12280 6f 75 72 63 65 22 20 66 6f 72 6d 20 73 68 61 6c 6c 20 6d 65 61 6e 20 74 68 65 20 70 72 65 66 65 ource".form.shall.mean.the.prefe
122a0 72 72 65 64 20 66 6f 72 6d 20 66 6f 72 20 6d 61 6b 69 6e 67 20 6d 6f 64 69 66 69 63 61 74 69 6f rred.form.for.making.modificatio
122c0 6e 73 2c 0a 20 20 20 20 20 20 69 6e 63 6c 75 64 69 6e 67 20 62 75 74 20 6e 6f 74 20 6c 69 6d 69 ns,.......including.but.not.limi
122e0 74 65 64 20 74 6f 20 73 6f 66 74 77 61 72 65 20 73 6f 75 72 63 65 20 63 6f 64 65 2c 20 64 6f 63 ted.to.software.source.code,.doc
12300 75 6d 65 6e 74 61 74 69 6f 6e 0a 20 20 20 20 20 20 73 6f 75 72 63 65 2c 20 61 6e 64 20 63 6f 6e umentation.......source,.and.con
12320 66 69 67 75 72 61 74 69 6f 6e 20 66 69 6c 65 73 2e 0a 0a 20 20 20 20 20 20 22 4f 62 6a 65 63 74 figuration.files........."Object
12340 22 20 66 6f 72 6d 20 73 68 61 6c 6c 20 6d 65 61 6e 20 61 6e 79 20 66 6f 72 6d 20 72 65 73 75 6c ".form.shall.mean.any.form.resul
12360 74 69 6e 67 20 66 72 6f 6d 20 6d 65 63 68 61 6e 69 63 61 6c 0a 20 20 20 20 20 20 74 72 61 6e 73 ting.from.mechanical.......trans
12380 66 6f 72 6d 61 74 69 6f 6e 20 6f 72 20 74 72 61 6e 73 6c 61 74 69 6f 6e 20 6f 66 20 61 20 53 6f formation.or.translation.of.a.So
123a0 75 72 63 65 20 66 6f 72 6d 2c 20 69 6e 63 6c 75 64 69 6e 67 20 62 75 74 0a 20 20 20 20 20 20 6e urce.form,.including.but.......n
123c0 6f 74 20 6c 69 6d 69 74 65 64 20 74 6f 20 63 6f 6d 70 69 6c 65 64 20 6f 62 6a 65 63 74 20 63 6f ot.limited.to.compiled.object.co
123e0 64 65 2c 20 67 65 6e 65 72 61 74 65 64 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2c 0a 20 20 20 de,.generated.documentation,....
12400 20 20 20 61 6e 64 20 63 6f 6e 76 65 72 73 69 6f 6e 73 20 74 6f 20 6f 74 68 65 72 20 6d 65 64 69 ...and.conversions.to.other.medi
12420 61 20 74 79 70 65 73 2e 0a 0a 20 20 20 20 20 20 22 57 6f 72 6b 22 20 73 68 61 6c 6c 20 6d 65 61 a.types........."Work".shall.mea
12440 6e 20 74 68 65 20 77 6f 72 6b 20 6f 66 20 61 75 74 68 6f 72 73 68 69 70 2c 20 77 68 65 74 68 65 n.the.work.of.authorship,.whethe
12460 72 20 69 6e 20 53 6f 75 72 63 65 20 6f 72 0a 20 20 20 20 20 20 4f 62 6a 65 63 74 20 66 6f 72 6d r.in.Source.or.......Object.form
12480 2c 20 6d 61 64 65 20 61 76 61 69 6c 61 62 6c 65 20 75 6e 64 65 72 20 74 68 65 20 4c 69 63 65 6e ,.made.available.under.the.Licen
124a0 73 65 2c 20 61 73 20 69 6e 64 69 63 61 74 65 64 20 62 79 20 61 0a 20 20 20 20 20 20 63 6f 70 79 se,.as.indicated.by.a.......copy
124c0 72 69 67 68 74 20 6e 6f 74 69 63 65 20 74 68 61 74 20 69 73 20 69 6e 63 6c 75 64 65 64 20 69 6e right.notice.that.is.included.in
124e0 20 6f 72 20 61 74 74 61 63 68 65 64 20 74 6f 20 74 68 65 20 77 6f 72 6b 0a 20 20 20 20 20 20 28 .or.attached.to.the.work.......(
12500 61 6e 20 65 78 61 6d 70 6c 65 20 69 73 20 70 72 6f 76 69 64 65 64 20 69 6e 20 74 68 65 20 41 70 an.example.is.provided.in.the.Ap
12520 70 65 6e 64 69 78 20 62 65 6c 6f 77 29 2e 0a 0a 20 20 20 20 20 20 22 44 65 72 69 76 61 74 69 76 pendix.below)........."Derivativ
12540 65 20 57 6f 72 6b 73 22 20 73 68 61 6c 6c 20 6d 65 61 6e 20 61 6e 79 20 77 6f 72 6b 2c 20 77 68 e.Works".shall.mean.any.work,.wh
12560 65 74 68 65 72 20 69 6e 20 53 6f 75 72 63 65 20 6f 72 20 4f 62 6a 65 63 74 0a 20 20 20 20 20 20 ether.in.Source.or.Object.......
12580 66 6f 72 6d 2c 20 74 68 61 74 20 69 73 20 62 61 73 65 64 20 6f 6e 20 28 6f 72 20 64 65 72 69 76 form,.that.is.based.on.(or.deriv
125a0 65 64 20 66 72 6f 6d 29 20 74 68 65 20 57 6f 72 6b 20 61 6e 64 20 66 6f 72 20 77 68 69 63 68 20 ed.from).the.Work.and.for.which.
125c0 74 68 65 0a 20 20 20 20 20 20 65 64 69 74 6f 72 69 61 6c 20 72 65 76 69 73 69 6f 6e 73 2c 20 61 the.......editorial.revisions,.a
125e0 6e 6e 6f 74 61 74 69 6f 6e 73 2c 20 65 6c 61 62 6f 72 61 74 69 6f 6e 73 2c 20 6f 72 20 6f 74 68 nnotations,.elaborations,.or.oth
12600 65 72 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 73 0a 20 20 20 20 20 20 72 65 70 72 65 73 65 6e 74 er.modifications.......represent
12620 2c 20 61 73 20 61 20 77 68 6f 6c 65 2c 20 61 6e 20 6f 72 69 67 69 6e 61 6c 20 77 6f 72 6b 20 6f ,.as.a.whole,.an.original.work.o
12640 66 20 61 75 74 68 6f 72 73 68 69 70 2e 20 46 6f 72 20 74 68 65 20 70 75 72 70 6f 73 65 73 0a 20 f.authorship..For.the.purposes..
12660 20 20 20 20 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 44 65 72 69 76 61 74 69 76 65 .....of.this.License,.Derivative
12680 20 57 6f 72 6b 73 20 73 68 61 6c 6c 20 6e 6f 74 20 69 6e 63 6c 75 64 65 20 77 6f 72 6b 73 20 74 .Works.shall.not.include.works.t
126a0 68 61 74 20 72 65 6d 61 69 6e 0a 20 20 20 20 20 20 73 65 70 61 72 61 62 6c 65 20 66 72 6f 6d 2c hat.remain.......separable.from,
126c0 20 6f 72 20 6d 65 72 65 6c 79 20 6c 69 6e 6b 20 28 6f 72 20 62 69 6e 64 20 62 79 20 6e 61 6d 65 .or.merely.link.(or.bind.by.name
126e0 29 20 74 6f 20 74 68 65 20 69 6e 74 65 72 66 61 63 65 73 20 6f 66 2c 0a 20 20 20 20 20 20 74 68 ).to.the.interfaces.of,.......th
12700 65 20 57 6f 72 6b 20 61 6e 64 20 44 65 72 69 76 61 74 69 76 65 20 57 6f 72 6b 73 20 74 68 65 72 e.Work.and.Derivative.Works.ther
12720 65 6f 66 2e 0a 0a 20 20 20 20 20 20 22 43 6f 6e 74 72 69 62 75 74 69 6f 6e 22 20 73 68 61 6c 6c eof........."Contribution".shall
12740 20 6d 65 61 6e 20 61 6e 79 20 77 6f 72 6b 20 6f 66 20 61 75 74 68 6f 72 73 68 69 70 2c 20 69 6e .mean.any.work.of.authorship,.in
12760 63 6c 75 64 69 6e 67 0a 20 20 20 20 20 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 76 65 72 73 69 cluding.......the.original.versi
12780 6f 6e 20 6f 66 20 74 68 65 20 57 6f 72 6b 20 61 6e 64 20 61 6e 79 20 6d 6f 64 69 66 69 63 61 74 on.of.the.Work.and.any.modificat
127a0 69 6f 6e 73 20 6f 72 20 61 64 64 69 74 69 6f 6e 73 0a 20 20 20 20 20 20 74 6f 20 74 68 61 74 20 ions.or.additions.......to.that.
127c0 57 6f 72 6b 20 6f 72 20 44 65 72 69 76 61 74 69 76 65 20 57 6f 72 6b 73 20 74 68 65 72 65 6f 66 Work.or.Derivative.Works.thereof
127e0 2c 20 74 68 61 74 20 69 73 20 69 6e 74 65 6e 74 69 6f 6e 61 6c 6c 79 0a 20 20 20 20 20 20 73 75 ,.that.is.intentionally.......su
12800 62 6d 69 74 74 65 64 20 74 6f 20 4c 69 63 65 6e 73 6f 72 20 66 6f 72 20 69 6e 63 6c 75 73 69 6f bmitted.to.Licensor.for.inclusio
12820 6e 20 69 6e 20 74 68 65 20 57 6f 72 6b 20 62 79 20 74 68 65 20 63 6f 70 79 72 69 67 68 74 20 6f n.in.the.Work.by.the.copyright.o
12840 77 6e 65 72 0a 20 20 20 20 20 20 6f 72 20 62 79 20 61 6e 20 69 6e 64 69 76 69 64 75 61 6c 20 6f wner.......or.by.an.individual.o
12860 72 20 4c 65 67 61 6c 20 45 6e 74 69 74 79 20 61 75 74 68 6f 72 69 7a 65 64 20 74 6f 20 73 75 62 r.Legal.Entity.authorized.to.sub
12880 6d 69 74 20 6f 6e 20 62 65 68 61 6c 66 20 6f 66 0a 20 20 20 20 20 20 74 68 65 20 63 6f 70 79 72 mit.on.behalf.of.......the.copyr
128a0 69 67 68 74 20 6f 77 6e 65 72 2e 20 46 6f 72 20 74 68 65 20 70 75 72 70 6f 73 65 73 20 6f 66 20 ight.owner..For.the.purposes.of.
128c0 74 68 69 73 20 64 65 66 69 6e 69 74 69 6f 6e 2c 20 22 73 75 62 6d 69 74 74 65 64 22 0a 20 20 20 this.definition,."submitted"....
128e0 20 20 20 6d 65 61 6e 73 20 61 6e 79 20 66 6f 72 6d 20 6f 66 20 65 6c 65 63 74 72 6f 6e 69 63 2c ...means.any.form.of.electronic,
12900 20 76 65 72 62 61 6c 2c 20 6f 72 20 77 72 69 74 74 65 6e 20 63 6f 6d 6d 75 6e 69 63 61 74 69 6f .verbal,.or.written.communicatio
12920 6e 20 73 65 6e 74 0a 20 20 20 20 20 20 74 6f 20 74 68 65 20 4c 69 63 65 6e 73 6f 72 20 6f 72 20 n.sent.......to.the.Licensor.or.
12940 69 74 73 20 72 65 70 72 65 73 65 6e 74 61 74 69 76 65 73 2c 20 69 6e 63 6c 75 64 69 6e 67 20 62 its.representatives,.including.b
12960 75 74 20 6e 6f 74 20 6c 69 6d 69 74 65 64 20 74 6f 0a 20 20 20 20 20 20 63 6f 6d 6d 75 6e 69 63 ut.not.limited.to.......communic
12980 61 74 69 6f 6e 20 6f 6e 20 65 6c 65 63 74 72 6f 6e 69 63 20 6d 61 69 6c 69 6e 67 20 6c 69 73 74 ation.on.electronic.mailing.list
129a0 73 2c 20 73 6f 75 72 63 65 20 63 6f 64 65 20 63 6f 6e 74 72 6f 6c 20 73 79 73 74 65 6d 73 2c 0a s,.source.code.control.systems,.
129c0 20 20 20 20 20 20 61 6e 64 20 69 73 73 75 65 20 74 72 61 63 6b 69 6e 67 20 73 79 73 74 65 6d 73 ......and.issue.tracking.systems
129e0 20 74 68 61 74 20 61 72 65 20 6d 61 6e 61 67 65 64 20 62 79 2c 20 6f 72 20 6f 6e 20 62 65 68 61 .that.are.managed.by,.or.on.beha
12a00 6c 66 20 6f 66 2c 20 74 68 65 0a 20 20 20 20 20 20 4c 69 63 65 6e 73 6f 72 20 66 6f 72 20 74 68 lf.of,.the.......Licensor.for.th
12a20 65 20 70 75 72 70 6f 73 65 20 6f 66 20 64 69 73 63 75 73 73 69 6e 67 20 61 6e 64 20 69 6d 70 72 e.purpose.of.discussing.and.impr
12a40 6f 76 69 6e 67 20 74 68 65 20 57 6f 72 6b 2c 20 62 75 74 0a 20 20 20 20 20 20 65 78 63 6c 75 64 oving.the.Work,.but.......exclud
12a60 69 6e 67 20 63 6f 6d 6d 75 6e 69 63 61 74 69 6f 6e 20 74 68 61 74 20 69 73 20 63 6f 6e 73 70 69 ing.communication.that.is.conspi
12a80 63 75 6f 75 73 6c 79 20 6d 61 72 6b 65 64 20 6f 72 20 6f 74 68 65 72 77 69 73 65 0a 20 20 20 20 cuously.marked.or.otherwise.....
12aa0 20 20 64 65 73 69 67 6e 61 74 65 64 20 69 6e 20 77 72 69 74 69 6e 67 20 62 79 20 74 68 65 20 63 ..designated.in.writing.by.the.c
12ac0 6f 70 79 72 69 67 68 74 20 6f 77 6e 65 72 20 61 73 20 22 4e 6f 74 20 61 20 43 6f 6e 74 72 69 62 opyright.owner.as."Not.a.Contrib
12ae0 75 74 69 6f 6e 2e 22 0a 0a 20 20 20 20 20 20 22 43 6f 6e 74 72 69 62 75 74 6f 72 22 20 73 68 61 ution."........"Contributor".sha
12b00 6c 6c 20 6d 65 61 6e 20 4c 69 63 65 6e 73 6f 72 20 61 6e 64 20 61 6e 79 20 69 6e 64 69 76 69 64 ll.mean.Licensor.and.any.individ
12b20 75 61 6c 20 6f 72 20 4c 65 67 61 6c 20 45 6e 74 69 74 79 0a 20 20 20 20 20 20 6f 6e 20 62 65 68 ual.or.Legal.Entity.......on.beh
12b40 61 6c 66 20 6f 66 20 77 68 6f 6d 20 61 20 43 6f 6e 74 72 69 62 75 74 69 6f 6e 20 68 61 73 20 62 alf.of.whom.a.Contribution.has.b
12b60 65 65 6e 20 72 65 63 65 69 76 65 64 20 62 79 20 4c 69 63 65 6e 73 6f 72 20 61 6e 64 0a 20 20 20 een.received.by.Licensor.and....
12b80 20 20 20 73 75 62 73 65 71 75 65 6e 74 6c 79 20 69 6e 63 6f 72 70 6f 72 61 74 65 64 20 77 69 74 ...subsequently.incorporated.wit
12ba0 68 69 6e 20 74 68 65 20 57 6f 72 6b 2e 0a 0a 20 20 20 32 2e 20 47 72 61 6e 74 20 6f 66 20 43 6f hin.the.Work......2..Grant.of.Co
12bc0 70 79 72 69 67 68 74 20 4c 69 63 65 6e 73 65 2e 20 53 75 62 6a 65 63 74 20 74 6f 20 74 68 65 20 pyright.License..Subject.to.the.
12be0 74 65 72 6d 73 20 61 6e 64 20 63 6f 6e 64 69 74 69 6f 6e 73 20 6f 66 0a 20 20 20 20 20 20 74 68 terms.and.conditions.of.......th
12c00 69 73 20 4c 69 63 65 6e 73 65 2c 20 65 61 63 68 20 43 6f 6e 74 72 69 62 75 74 6f 72 20 68 65 72 is.License,.each.Contributor.her
12c20 65 62 79 20 67 72 61 6e 74 73 20 74 6f 20 59 6f 75 20 61 20 70 65 72 70 65 74 75 61 6c 2c 0a 20 eby.grants.to.You.a.perpetual,..
12c40 20 20 20 20 20 77 6f 72 6c 64 77 69 64 65 2c 20 6e 6f 6e 2d 65 78 63 6c 75 73 69 76 65 2c 20 6e .....worldwide,.non-exclusive,.n
12c60 6f 2d 63 68 61 72 67 65 2c 20 72 6f 79 61 6c 74 79 2d 66 72 65 65 2c 20 69 72 72 65 76 6f 63 61 o-charge,.royalty-free,.irrevoca
12c80 62 6c 65 0a 20 20 20 20 20 20 63 6f 70 79 72 69 67 68 74 20 6c 69 63 65 6e 73 65 20 74 6f 20 72 ble.......copyright.license.to.r
12ca0 65 70 72 6f 64 75 63 65 2c 20 70 72 65 70 61 72 65 20 44 65 72 69 76 61 74 69 76 65 20 57 6f 72 eproduce,.prepare.Derivative.Wor
12cc0 6b 73 20 6f 66 2c 0a 20 20 20 20 20 20 70 75 62 6c 69 63 6c 79 20 64 69 73 70 6c 61 79 2c 20 70 ks.of,.......publicly.display,.p
12ce0 75 62 6c 69 63 6c 79 20 70 65 72 66 6f 72 6d 2c 20 73 75 62 6c 69 63 65 6e 73 65 2c 20 61 6e 64 ublicly.perform,.sublicense,.and
12d00 20 64 69 73 74 72 69 62 75 74 65 20 74 68 65 0a 20 20 20 20 20 20 57 6f 72 6b 20 61 6e 64 20 73 .distribute.the.......Work.and.s
12d20 75 63 68 20 44 65 72 69 76 61 74 69 76 65 20 57 6f 72 6b 73 20 69 6e 20 53 6f 75 72 63 65 20 6f uch.Derivative.Works.in.Source.o
12d40 72 20 4f 62 6a 65 63 74 20 66 6f 72 6d 2e 0a 0a 20 20 20 33 2e 20 47 72 61 6e 74 20 6f 66 20 50 r.Object.form......3..Grant.of.P
12d60 61 74 65 6e 74 20 4c 69 63 65 6e 73 65 2e 20 53 75 62 6a 65 63 74 20 74 6f 20 74 68 65 20 74 65 atent.License..Subject.to.the.te
12d80 72 6d 73 20 61 6e 64 20 63 6f 6e 64 69 74 69 6f 6e 73 20 6f 66 0a 20 20 20 20 20 20 74 68 69 73 rms.and.conditions.of.......this
12da0 20 4c 69 63 65 6e 73 65 2c 20 65 61 63 68 20 43 6f 6e 74 72 69 62 75 74 6f 72 20 68 65 72 65 62 .License,.each.Contributor.hereb
12dc0 79 20 67 72 61 6e 74 73 20 74 6f 20 59 6f 75 20 61 20 70 65 72 70 65 74 75 61 6c 2c 0a 20 20 20 y.grants.to.You.a.perpetual,....
12de0 20 20 20 77 6f 72 6c 64 77 69 64 65 2c 20 6e 6f 6e 2d 65 78 63 6c 75 73 69 76 65 2c 20 6e 6f 2d ...worldwide,.non-exclusive,.no-
12e00 63 68 61 72 67 65 2c 20 72 6f 79 61 6c 74 79 2d 66 72 65 65 2c 20 69 72 72 65 76 6f 63 61 62 6c charge,.royalty-free,.irrevocabl
12e20 65 0a 20 20 20 20 20 20 28 65 78 63 65 70 74 20 61 73 20 73 74 61 74 65 64 20 69 6e 20 74 68 69 e.......(except.as.stated.in.thi
12e40 73 20 73 65 63 74 69 6f 6e 29 20 70 61 74 65 6e 74 20 6c 69 63 65 6e 73 65 20 74 6f 20 6d 61 6b s.section).patent.license.to.mak
12e60 65 2c 20 68 61 76 65 20 6d 61 64 65 2c 0a 20 20 20 20 20 20 75 73 65 2c 20 6f 66 66 65 72 20 74 e,.have.made,.......use,.offer.t
12e80 6f 20 73 65 6c 6c 2c 20 73 65 6c 6c 2c 20 69 6d 70 6f 72 74 2c 20 61 6e 64 20 6f 74 68 65 72 77 o.sell,.sell,.import,.and.otherw
12ea0 69 73 65 20 74 72 61 6e 73 66 65 72 20 74 68 65 20 57 6f 72 6b 2c 0a 20 20 20 20 20 20 77 68 65 ise.transfer.the.Work,.......whe
12ec0 72 65 20 73 75 63 68 20 6c 69 63 65 6e 73 65 20 61 70 70 6c 69 65 73 20 6f 6e 6c 79 20 74 6f 20 re.such.license.applies.only.to.
12ee0 74 68 6f 73 65 20 70 61 74 65 6e 74 20 63 6c 61 69 6d 73 20 6c 69 63 65 6e 73 61 62 6c 65 0a 20 those.patent.claims.licensable..
12f00 20 20 20 20 20 62 79 20 73 75 63 68 20 43 6f 6e 74 72 69 62 75 74 6f 72 20 74 68 61 74 20 61 72 .....by.such.Contributor.that.ar
12f20 65 20 6e 65 63 65 73 73 61 72 69 6c 79 20 69 6e 66 72 69 6e 67 65 64 20 62 79 20 74 68 65 69 72 e.necessarily.infringed.by.their
12f40 0a 20 20 20 20 20 20 43 6f 6e 74 72 69 62 75 74 69 6f 6e 28 73 29 20 61 6c 6f 6e 65 20 6f 72 20 .......Contribution(s).alone.or.
12f60 62 79 20 63 6f 6d 62 69 6e 61 74 69 6f 6e 20 6f 66 20 74 68 65 69 72 20 43 6f 6e 74 72 69 62 75 by.combination.of.their.Contribu
12f80 74 69 6f 6e 28 73 29 0a 20 20 20 20 20 20 77 69 74 68 20 74 68 65 20 57 6f 72 6b 20 74 6f 20 77 tion(s).......with.the.Work.to.w
12fa0 68 69 63 68 20 73 75 63 68 20 43 6f 6e 74 72 69 62 75 74 69 6f 6e 28 73 29 20 77 61 73 20 73 75 hich.such.Contribution(s).was.su
12fc0 62 6d 69 74 74 65 64 2e 20 49 66 20 59 6f 75 0a 20 20 20 20 20 20 69 6e 73 74 69 74 75 74 65 20 bmitted..If.You.......institute.
12fe0 70 61 74 65 6e 74 20 6c 69 74 69 67 61 74 69 6f 6e 20 61 67 61 69 6e 73 74 20 61 6e 79 20 65 6e patent.litigation.against.any.en
13000 74 69 74 79 20 28 69 6e 63 6c 75 64 69 6e 67 20 61 0a 20 20 20 20 20 20 63 72 6f 73 73 2d 63 6c tity.(including.a.......cross-cl
13020 61 69 6d 20 6f 72 20 63 6f 75 6e 74 65 72 63 6c 61 69 6d 20 69 6e 20 61 20 6c 61 77 73 75 69 74 aim.or.counterclaim.in.a.lawsuit
13040 29 20 61 6c 6c 65 67 69 6e 67 20 74 68 61 74 20 74 68 65 20 57 6f 72 6b 0a 20 20 20 20 20 20 6f ).alleging.that.the.Work.......o
13060 72 20 61 20 43 6f 6e 74 72 69 62 75 74 69 6f 6e 20 69 6e 63 6f 72 70 6f 72 61 74 65 64 20 77 69 r.a.Contribution.incorporated.wi
13080 74 68 69 6e 20 74 68 65 20 57 6f 72 6b 20 63 6f 6e 73 74 69 74 75 74 65 73 20 64 69 72 65 63 74 thin.the.Work.constitutes.direct
130a0 0a 20 20 20 20 20 20 6f 72 20 63 6f 6e 74 72 69 62 75 74 6f 72 79 20 70 61 74 65 6e 74 20 69 6e .......or.contributory.patent.in
130c0 66 72 69 6e 67 65 6d 65 6e 74 2c 20 74 68 65 6e 20 61 6e 79 20 70 61 74 65 6e 74 20 6c 69 63 65 fringement,.then.any.patent.lice
130e0 6e 73 65 73 0a 20 20 20 20 20 20 67 72 61 6e 74 65 64 20 74 6f 20 59 6f 75 20 75 6e 64 65 72 20 nses.......granted.to.You.under.
13100 74 68 69 73 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 74 68 61 74 20 57 6f 72 6b 20 73 68 61 6c 6c this.License.for.that.Work.shall
13120 20 74 65 72 6d 69 6e 61 74 65 0a 20 20 20 20 20 20 61 73 20 6f 66 20 74 68 65 20 64 61 74 65 20 .terminate.......as.of.the.date.
13140 73 75 63 68 20 6c 69 74 69 67 61 74 69 6f 6e 20 69 73 20 66 69 6c 65 64 2e 0a 0a 20 20 20 34 2e such.litigation.is.filed......4.
13160 20 52 65 64 69 73 74 72 69 62 75 74 69 6f 6e 2e 20 59 6f 75 20 6d 61 79 20 72 65 70 72 6f 64 75 .Redistribution..You.may.reprodu
13180 63 65 20 61 6e 64 20 64 69 73 74 72 69 62 75 74 65 20 63 6f 70 69 65 73 20 6f 66 20 74 68 65 0a ce.and.distribute.copies.of.the.
131a0 20 20 20 20 20 20 57 6f 72 6b 20 6f 72 20 44 65 72 69 76 61 74 69 76 65 20 57 6f 72 6b 73 20 74 ......Work.or.Derivative.Works.t
131c0 68 65 72 65 6f 66 20 69 6e 20 61 6e 79 20 6d 65 64 69 75 6d 2c 20 77 69 74 68 20 6f 72 20 77 69 hereof.in.any.medium,.with.or.wi
131e0 74 68 6f 75 74 0a 20 20 20 20 20 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 73 2c 20 61 6e 64 20 69 thout.......modifications,.and.i
13200 6e 20 53 6f 75 72 63 65 20 6f 72 20 4f 62 6a 65 63 74 20 66 6f 72 6d 2c 20 70 72 6f 76 69 64 65 n.Source.or.Object.form,.provide
13220 64 20 74 68 61 74 20 59 6f 75 0a 20 20 20 20 20 20 6d 65 65 74 20 74 68 65 20 66 6f 6c 6c 6f 77 d.that.You.......meet.the.follow
13240 69 6e 67 20 63 6f 6e 64 69 74 69 6f 6e 73 3a 0a 0a 20 20 20 20 20 20 28 61 29 20 59 6f 75 20 6d ing.conditions:........(a).You.m
13260 75 73 74 20 67 69 76 65 20 61 6e 79 20 6f 74 68 65 72 20 72 65 63 69 70 69 65 6e 74 73 20 6f 66 ust.give.any.other.recipients.of
13280 20 74 68 65 20 57 6f 72 6b 20 6f 72 0a 20 20 20 20 20 20 20 20 20 20 44 65 72 69 76 61 74 69 76 .the.Work.or...........Derivativ
132a0 65 20 57 6f 72 6b 73 20 61 20 63 6f 70 79 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 3b 20 e.Works.a.copy.of.this.License;.
132c0 61 6e 64 0a 0a 20 20 20 20 20 20 28 62 29 20 59 6f 75 20 6d 75 73 74 20 63 61 75 73 65 20 61 6e and........(b).You.must.cause.an
132e0 79 20 6d 6f 64 69 66 69 65 64 20 66 69 6c 65 73 20 74 6f 20 63 61 72 72 79 20 70 72 6f 6d 69 6e y.modified.files.to.carry.promin
13300 65 6e 74 20 6e 6f 74 69 63 65 73 0a 20 20 20 20 20 20 20 20 20 20 73 74 61 74 69 6e 67 20 74 68 ent.notices...........stating.th
13320 61 74 20 59 6f 75 20 63 68 61 6e 67 65 64 20 74 68 65 20 66 69 6c 65 73 3b 20 61 6e 64 0a 0a 20 at.You.changed.the.files;.and...
13340 20 20 20 20 20 28 63 29 20 59 6f 75 20 6d 75 73 74 20 72 65 74 61 69 6e 2c 20 69 6e 20 74 68 65 .....(c).You.must.retain,.in.the
13360 20 53 6f 75 72 63 65 20 66 6f 72 6d 20 6f 66 20 61 6e 79 20 44 65 72 69 76 61 74 69 76 65 20 57 .Source.form.of.any.Derivative.W
13380 6f 72 6b 73 0a 20 20 20 20 20 20 20 20 20 20 74 68 61 74 20 59 6f 75 20 64 69 73 74 72 69 62 75 orks...........that.You.distribu
133a0 74 65 2c 20 61 6c 6c 20 63 6f 70 79 72 69 67 68 74 2c 20 70 61 74 65 6e 74 2c 20 74 72 61 64 65 te,.all.copyright,.patent,.trade
133c0 6d 61 72 6b 2c 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 20 61 74 74 72 69 62 75 74 69 6f 6e 20 mark,.and...........attribution.
133e0 6e 6f 74 69 63 65 73 20 66 72 6f 6d 20 74 68 65 20 53 6f 75 72 63 65 20 66 6f 72 6d 20 6f 66 20 notices.from.the.Source.form.of.
13400 74 68 65 20 57 6f 72 6b 2c 0a 20 20 20 20 20 20 20 20 20 20 65 78 63 6c 75 64 69 6e 67 20 74 68 the.Work,...........excluding.th
13420 6f 73 65 20 6e 6f 74 69 63 65 73 20 74 68 61 74 20 64 6f 20 6e 6f 74 20 70 65 72 74 61 69 6e 20 ose.notices.that.do.not.pertain.
13440 74 6f 20 61 6e 79 20 70 61 72 74 20 6f 66 0a 20 20 20 20 20 20 20 20 20 20 74 68 65 20 44 65 72 to.any.part.of...........the.Der
13460 69 76 61 74 69 76 65 20 57 6f 72 6b 73 3b 20 61 6e 64 0a 0a 20 20 20 20 20 20 28 64 29 20 49 66 ivative.Works;.and........(d).If
13480 20 74 68 65 20 57 6f 72 6b 20 69 6e 63 6c 75 64 65 73 20 61 20 22 4e 4f 54 49 43 45 22 20 74 65 .the.Work.includes.a."NOTICE".te
134a0 78 74 20 66 69 6c 65 20 61 73 20 70 61 72 74 20 6f 66 20 69 74 73 0a 20 20 20 20 20 20 20 20 20 xt.file.as.part.of.its..........
134c0 20 64 69 73 74 72 69 62 75 74 69 6f 6e 2c 20 74 68 65 6e 20 61 6e 79 20 44 65 72 69 76 61 74 69 .distribution,.then.any.Derivati
134e0 76 65 20 57 6f 72 6b 73 20 74 68 61 74 20 59 6f 75 20 64 69 73 74 72 69 62 75 74 65 20 6d 75 73 ve.Works.that.You.distribute.mus
13500 74 0a 20 20 20 20 20 20 20 20 20 20 69 6e 63 6c 75 64 65 20 61 20 72 65 61 64 61 62 6c 65 20 63 t...........include.a.readable.c
13520 6f 70 79 20 6f 66 20 74 68 65 20 61 74 74 72 69 62 75 74 69 6f 6e 20 6e 6f 74 69 63 65 73 20 63 opy.of.the.attribution.notices.c
13540 6f 6e 74 61 69 6e 65 64 0a 20 20 20 20 20 20 20 20 20 20 77 69 74 68 69 6e 20 73 75 63 68 20 4e ontained...........within.such.N
13560 4f 54 49 43 45 20 66 69 6c 65 2c 20 65 78 63 6c 75 64 69 6e 67 20 74 68 6f 73 65 20 6e 6f 74 69 OTICE.file,.excluding.those.noti
13580 63 65 73 20 74 68 61 74 20 64 6f 20 6e 6f 74 0a 20 20 20 20 20 20 20 20 20 20 70 65 72 74 61 69 ces.that.do.not...........pertai
135a0 6e 20 74 6f 20 61 6e 79 20 70 61 72 74 20 6f 66 20 74 68 65 20 44 65 72 69 76 61 74 69 76 65 20 n.to.any.part.of.the.Derivative.
135c0 57 6f 72 6b 73 2c 20 69 6e 20 61 74 20 6c 65 61 73 74 20 6f 6e 65 0a 20 20 20 20 20 20 20 20 20 Works,.in.at.least.one..........
135e0 20 6f 66 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 70 6c 61 63 65 73 3a 20 77 69 74 68 69 6e .of.the.following.places:.within
13600 20 61 20 4e 4f 54 49 43 45 20 74 65 78 74 20 66 69 6c 65 20 64 69 73 74 72 69 62 75 74 65 64 0a .a.NOTICE.text.file.distributed.
13620 20 20 20 20 20 20 20 20 20 20 61 73 20 70 61 72 74 20 6f 66 20 74 68 65 20 44 65 72 69 76 61 74 ..........as.part.of.the.Derivat
13640 69 76 65 20 57 6f 72 6b 73 3b 20 77 69 74 68 69 6e 20 74 68 65 20 53 6f 75 72 63 65 20 66 6f 72 ive.Works;.within.the.Source.for
13660 6d 20 6f 72 0a 20 20 20 20 20 20 20 20 20 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2c 20 69 66 m.or...........documentation,.if
13680 20 70 72 6f 76 69 64 65 64 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 65 20 44 65 72 69 76 61 74 .provided.along.with.the.Derivat
136a0 69 76 65 20 57 6f 72 6b 73 3b 20 6f 72 2c 0a 20 20 20 20 20 20 20 20 20 20 77 69 74 68 69 6e 20 ive.Works;.or,...........within.
136c0 61 20 64 69 73 70 6c 61 79 20 67 65 6e 65 72 61 74 65 64 20 62 79 20 74 68 65 20 44 65 72 69 76 a.display.generated.by.the.Deriv
136e0 61 74 69 76 65 20 57 6f 72 6b 73 2c 20 69 66 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 20 77 68 ative.Works,.if.and...........wh
13700 65 72 65 76 65 72 20 73 75 63 68 20 74 68 69 72 64 2d 70 61 72 74 79 20 6e 6f 74 69 63 65 73 20 erever.such.third-party.notices.
13720 6e 6f 72 6d 61 6c 6c 79 20 61 70 70 65 61 72 2e 20 54 68 65 20 63 6f 6e 74 65 6e 74 73 0a 20 20 normally.appear..The.contents...
13740 20 20 20 20 20 20 20 20 6f 66 20 74 68 65 20 4e 4f 54 49 43 45 20 66 69 6c 65 20 61 72 65 20 66 ........of.the.NOTICE.file.are.f
13760 6f 72 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 61 6c 20 70 75 72 70 6f 73 65 73 20 6f 6e 6c 79 20 61 or.informational.purposes.only.a
13780 6e 64 0a 20 20 20 20 20 20 20 20 20 20 64 6f 20 6e 6f 74 20 6d 6f 64 69 66 79 20 74 68 65 20 4c nd...........do.not.modify.the.L
137a0 69 63 65 6e 73 65 2e 20 59 6f 75 20 6d 61 79 20 61 64 64 20 59 6f 75 72 20 6f 77 6e 20 61 74 74 icense..You.may.add.Your.own.att
137c0 72 69 62 75 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 6e 6f 74 69 63 65 73 20 77 69 74 68 69 ribution...........notices.withi
137e0 6e 20 44 65 72 69 76 61 74 69 76 65 20 57 6f 72 6b 73 20 74 68 61 74 20 59 6f 75 20 64 69 73 74 n.Derivative.Works.that.You.dist
13800 72 69 62 75 74 65 2c 20 61 6c 6f 6e 67 73 69 64 65 0a 20 20 20 20 20 20 20 20 20 20 6f 72 20 61 ribute,.alongside...........or.a
13820 73 20 61 6e 20 61 64 64 65 6e 64 75 6d 20 74 6f 20 74 68 65 20 4e 4f 54 49 43 45 20 74 65 78 74 s.an.addendum.to.the.NOTICE.text
13840 20 66 72 6f 6d 20 74 68 65 20 57 6f 72 6b 2c 20 70 72 6f 76 69 64 65 64 0a 20 20 20 20 20 20 20 .from.the.Work,.provided........
13860 20 20 20 74 68 61 74 20 73 75 63 68 20 61 64 64 69 74 69 6f 6e 61 6c 20 61 74 74 72 69 62 75 74 ...that.such.additional.attribut
13880 69 6f 6e 20 6e 6f 74 69 63 65 73 20 63 61 6e 6e 6f 74 20 62 65 20 63 6f 6e 73 74 72 75 65 64 0a ion.notices.cannot.be.construed.
138a0 20 20 20 20 20 20 20 20 20 20 61 73 20 6d 6f 64 69 66 79 69 6e 67 20 74 68 65 20 4c 69 63 65 6e ..........as.modifying.the.Licen
138c0 73 65 2e 0a 0a 20 20 20 20 20 20 59 6f 75 20 6d 61 79 20 61 64 64 20 59 6f 75 72 20 6f 77 6e 20 se.........You.may.add.Your.own.
138e0 63 6f 70 79 72 69 67 68 74 20 73 74 61 74 65 6d 65 6e 74 20 74 6f 20 59 6f 75 72 20 6d 6f 64 69 copyright.statement.to.Your.modi
13900 66 69 63 61 74 69 6f 6e 73 20 61 6e 64 0a 20 20 20 20 20 20 6d 61 79 20 70 72 6f 76 69 64 65 20 fications.and.......may.provide.
13920 61 64 64 69 74 69 6f 6e 61 6c 20 6f 72 20 64 69 66 66 65 72 65 6e 74 20 6c 69 63 65 6e 73 65 20 additional.or.different.license.
13940 74 65 72 6d 73 20 61 6e 64 20 63 6f 6e 64 69 74 69 6f 6e 73 0a 20 20 20 20 20 20 66 6f 72 20 75 terms.and.conditions.......for.u
13960 73 65 2c 20 72 65 70 72 6f 64 75 63 74 69 6f 6e 2c 20 6f 72 20 64 69 73 74 72 69 62 75 74 69 6f se,.reproduction,.or.distributio
13980 6e 20 6f 66 20 59 6f 75 72 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 73 2c 20 6f 72 0a 20 20 20 20 n.of.Your.modifications,.or.....
139a0 20 20 66 6f 72 20 61 6e 79 20 73 75 63 68 20 44 65 72 69 76 61 74 69 76 65 20 57 6f 72 6b 73 20 ..for.any.such.Derivative.Works.
139c0 61 73 20 61 20 77 68 6f 6c 65 2c 20 70 72 6f 76 69 64 65 64 20 59 6f 75 72 20 75 73 65 2c 0a 20 as.a.whole,.provided.Your.use,..
139e0 20 20 20 20 20 72 65 70 72 6f 64 75 63 74 69 6f 6e 2c 20 61 6e 64 20 64 69 73 74 72 69 62 75 74 .....reproduction,.and.distribut
13a00 69 6f 6e 20 6f 66 20 74 68 65 20 57 6f 72 6b 20 6f 74 68 65 72 77 69 73 65 20 63 6f 6d 70 6c 69 ion.of.the.Work.otherwise.compli
13a20 65 73 20 77 69 74 68 0a 20 20 20 20 20 20 74 68 65 20 63 6f 6e 64 69 74 69 6f 6e 73 20 73 74 61 es.with.......the.conditions.sta
13a40 74 65 64 20 69 6e 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 0a 0a 20 20 20 35 2e 20 53 75 62 6d ted.in.this.License......5..Subm
13a60 69 73 73 69 6f 6e 20 6f 66 20 43 6f 6e 74 72 69 62 75 74 69 6f 6e 73 2e 20 55 6e 6c 65 73 73 20 ission.of.Contributions..Unless.
13a80 59 6f 75 20 65 78 70 6c 69 63 69 74 6c 79 20 73 74 61 74 65 20 6f 74 68 65 72 77 69 73 65 2c 0a You.explicitly.state.otherwise,.
13aa0 20 20 20 20 20 20 61 6e 79 20 43 6f 6e 74 72 69 62 75 74 69 6f 6e 20 69 6e 74 65 6e 74 69 6f 6e ......any.Contribution.intention
13ac0 61 6c 6c 79 20 73 75 62 6d 69 74 74 65 64 20 66 6f 72 20 69 6e 63 6c 75 73 69 6f 6e 20 69 6e 20 ally.submitted.for.inclusion.in.
13ae0 74 68 65 20 57 6f 72 6b 0a 20 20 20 20 20 20 62 79 20 59 6f 75 20 74 6f 20 74 68 65 20 4c 69 63 the.Work.......by.You.to.the.Lic
13b00 65 6e 73 6f 72 20 73 68 61 6c 6c 20 62 65 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 61 ensor.shall.be.under.the.terms.a
13b20 6e 64 20 63 6f 6e 64 69 74 69 6f 6e 73 20 6f 66 0a 20 20 20 20 20 20 74 68 69 73 20 4c 69 63 65 nd.conditions.of.......this.Lice
13b40 6e 73 65 2c 20 77 69 74 68 6f 75 74 20 61 6e 79 20 61 64 64 69 74 69 6f 6e 61 6c 20 74 65 72 6d nse,.without.any.additional.term
13b60 73 20 6f 72 20 63 6f 6e 64 69 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 4e 6f 74 77 69 74 68 73 74 s.or.conditions........Notwithst
13b80 61 6e 64 69 6e 67 20 74 68 65 20 61 62 6f 76 65 2c 20 6e 6f 74 68 69 6e 67 20 68 65 72 65 69 6e anding.the.above,.nothing.herein
13ba0 20 73 68 61 6c 6c 20 73 75 70 65 72 73 65 64 65 20 6f 72 20 6d 6f 64 69 66 79 0a 20 20 20 20 20 .shall.supersede.or.modify......
13bc0 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 61 6e 79 20 73 65 70 61 72 61 74 65 20 6c 69 63 65 6e .the.terms.of.any.separate.licen
13be0 73 65 20 61 67 72 65 65 6d 65 6e 74 20 79 6f 75 20 6d 61 79 20 68 61 76 65 20 65 78 65 63 75 74 se.agreement.you.may.have.execut
13c00 65 64 0a 20 20 20 20 20 20 77 69 74 68 20 4c 69 63 65 6e 73 6f 72 20 72 65 67 61 72 64 69 6e 67 ed.......with.Licensor.regarding
13c20 20 73 75 63 68 20 43 6f 6e 74 72 69 62 75 74 69 6f 6e 73 2e 0a 0a 20 20 20 36 2e 20 54 72 61 64 .such.Contributions......6..Trad
13c40 65 6d 61 72 6b 73 2e 20 54 68 69 73 20 4c 69 63 65 6e 73 65 20 64 6f 65 73 20 6e 6f 74 20 67 72 emarks..This.License.does.not.gr
13c60 61 6e 74 20 70 65 72 6d 69 73 73 69 6f 6e 20 74 6f 20 75 73 65 20 74 68 65 20 74 72 61 64 65 0a ant.permission.to.use.the.trade.
13c80 20 20 20 20 20 20 6e 61 6d 65 73 2c 20 74 72 61 64 65 6d 61 72 6b 73 2c 20 73 65 72 76 69 63 65 ......names,.trademarks,.service
13ca0 20 6d 61 72 6b 73 2c 20 6f 72 20 70 72 6f 64 75 63 74 20 6e 61 6d 65 73 20 6f 66 20 74 68 65 20 .marks,.or.product.names.of.the.
13cc0 4c 69 63 65 6e 73 6f 72 2c 0a 20 20 20 20 20 20 65 78 63 65 70 74 20 61 73 20 72 65 71 75 69 72 Licensor,.......except.as.requir
13ce0 65 64 20 66 6f 72 20 72 65 61 73 6f 6e 61 62 6c 65 20 61 6e 64 20 63 75 73 74 6f 6d 61 72 79 20 ed.for.reasonable.and.customary.
13d00 75 73 65 20 69 6e 20 64 65 73 63 72 69 62 69 6e 67 20 74 68 65 0a 20 20 20 20 20 20 6f 72 69 67 use.in.describing.the.......orig
13d20 69 6e 20 6f 66 20 74 68 65 20 57 6f 72 6b 20 61 6e 64 20 72 65 70 72 6f 64 75 63 69 6e 67 20 74 in.of.the.Work.and.reproducing.t
13d40 68 65 20 63 6f 6e 74 65 6e 74 20 6f 66 20 74 68 65 20 4e 4f 54 49 43 45 20 66 69 6c 65 2e 0a 0a he.content.of.the.NOTICE.file...
13d60 20 20 20 37 2e 20 44 69 73 63 6c 61 69 6d 65 72 20 6f 66 20 57 61 72 72 61 6e 74 79 2e 20 55 6e ...7..Disclaimer.of.Warranty..Un
13d80 6c 65 73 73 20 72 65 71 75 69 72 65 64 20 62 79 20 61 70 70 6c 69 63 61 62 6c 65 20 6c 61 77 20 less.required.by.applicable.law.
13da0 6f 72 0a 20 20 20 20 20 20 61 67 72 65 65 64 20 74 6f 20 69 6e 20 77 72 69 74 69 6e 67 2c 20 4c or.......agreed.to.in.writing,.L
13dc0 69 63 65 6e 73 6f 72 20 70 72 6f 76 69 64 65 73 20 74 68 65 20 57 6f 72 6b 20 28 61 6e 64 20 65 icensor.provides.the.Work.(and.e
13de0 61 63 68 0a 20 20 20 20 20 20 43 6f 6e 74 72 69 62 75 74 6f 72 20 70 72 6f 76 69 64 65 73 20 69 ach.......Contributor.provides.i
13e00 74 73 20 43 6f 6e 74 72 69 62 75 74 69 6f 6e 73 29 20 6f 6e 20 61 6e 20 22 41 53 20 49 53 22 20 ts.Contributions).on.an."AS.IS".
13e20 42 41 53 49 53 2c 0a 20 20 20 20 20 20 57 49 54 48 4f 55 54 20 57 41 52 52 41 4e 54 49 45 53 20 BASIS,.......WITHOUT.WARRANTIES.
13e40 4f 52 20 43 4f 4e 44 49 54 49 4f 4e 53 20 4f 46 20 41 4e 59 20 4b 49 4e 44 2c 20 65 69 74 68 65 OR.CONDITIONS.OF.ANY.KIND,.eithe
13e60 72 20 65 78 70 72 65 73 73 20 6f 72 0a 20 20 20 20 20 20 69 6d 70 6c 69 65 64 2c 20 69 6e 63 6c r.express.or.......implied,.incl
13e80 75 64 69 6e 67 2c 20 77 69 74 68 6f 75 74 20 6c 69 6d 69 74 61 74 69 6f 6e 2c 20 61 6e 79 20 77 uding,.without.limitation,.any.w
13ea0 61 72 72 61 6e 74 69 65 73 20 6f 72 20 63 6f 6e 64 69 74 69 6f 6e 73 0a 20 20 20 20 20 20 6f 66 arranties.or.conditions.......of
13ec0 20 54 49 54 4c 45 2c 20 4e 4f 4e 2d 49 4e 46 52 49 4e 47 45 4d 45 4e 54 2c 20 4d 45 52 43 48 41 .TITLE,.NON-INFRINGEMENT,.MERCHA
13ee0 4e 54 41 42 49 4c 49 54 59 2c 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 0a 20 20 20 20 NTABILITY,.or.FITNESS.FOR.A.....
13f00 20 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 59 6f 75 20 61 72 65 20 73 6f ..PARTICULAR.PURPOSE..You.are.so
13f20 6c 65 6c 79 20 72 65 73 70 6f 6e 73 69 62 6c 65 20 66 6f 72 20 64 65 74 65 72 6d 69 6e 69 6e 67 lely.responsible.for.determining
13f40 20 74 68 65 0a 20 20 20 20 20 20 61 70 70 72 6f 70 72 69 61 74 65 6e 65 73 73 20 6f 66 20 75 73 .the.......appropriateness.of.us
13f60 69 6e 67 20 6f 72 20 72 65 64 69 73 74 72 69 62 75 74 69 6e 67 20 74 68 65 20 57 6f 72 6b 20 61 ing.or.redistributing.the.Work.a
13f80 6e 64 20 61 73 73 75 6d 65 20 61 6e 79 0a 20 20 20 20 20 20 72 69 73 6b 73 20 61 73 73 6f 63 69 nd.assume.any.......risks.associ
13fa0 61 74 65 64 20 77 69 74 68 20 59 6f 75 72 20 65 78 65 72 63 69 73 65 20 6f 66 20 70 65 72 6d 69 ated.with.Your.exercise.of.permi
13fc0 73 73 69 6f 6e 73 20 75 6e 64 65 72 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 0a 0a 20 20 20 38 ssions.under.this.License......8
13fe0 2e 20 4c 69 6d 69 74 61 74 69 6f 6e 20 6f 66 20 4c 69 61 62 69 6c 69 74 79 2e 20 49 6e 20 6e 6f ..Limitation.of.Liability..In.no
14000 20 65 76 65 6e 74 20 61 6e 64 20 75 6e 64 65 72 20 6e 6f 20 6c 65 67 61 6c 20 74 68 65 6f 72 79 .event.and.under.no.legal.theory
14020 2c 0a 20 20 20 20 20 20 77 68 65 74 68 65 72 20 69 6e 20 74 6f 72 74 20 28 69 6e 63 6c 75 64 69 ,.......whether.in.tort.(includi
14040 6e 67 20 6e 65 67 6c 69 67 65 6e 63 65 29 2c 20 63 6f 6e 74 72 61 63 74 2c 20 6f 72 20 6f 74 68 ng.negligence),.contract,.or.oth
14060 65 72 77 69 73 65 2c 0a 20 20 20 20 20 20 75 6e 6c 65 73 73 20 72 65 71 75 69 72 65 64 20 62 79 erwise,.......unless.required.by
14080 20 61 70 70 6c 69 63 61 62 6c 65 20 6c 61 77 20 28 73 75 63 68 20 61 73 20 64 65 6c 69 62 65 72 .applicable.law.(such.as.deliber
140a0 61 74 65 20 61 6e 64 20 67 72 6f 73 73 6c 79 0a 20 20 20 20 20 20 6e 65 67 6c 69 67 65 6e 74 20 ate.and.grossly.......negligent.
140c0 61 63 74 73 29 20 6f 72 20 61 67 72 65 65 64 20 74 6f 20 69 6e 20 77 72 69 74 69 6e 67 2c 20 73 acts).or.agreed.to.in.writing,.s
140e0 68 61 6c 6c 20 61 6e 79 20 43 6f 6e 74 72 69 62 75 74 6f 72 20 62 65 0a 20 20 20 20 20 20 6c 69 hall.any.Contributor.be.......li
14100 61 62 6c 65 20 74 6f 20 59 6f 75 20 66 6f 72 20 64 61 6d 61 67 65 73 2c 20 69 6e 63 6c 75 64 69 able.to.You.for.damages,.includi
14120 6e 67 20 61 6e 79 20 64 69 72 65 63 74 2c 20 69 6e 64 69 72 65 63 74 2c 20 73 70 65 63 69 61 6c ng.any.direct,.indirect,.special
14140 2c 0a 20 20 20 20 20 20 69 6e 63 69 64 65 6e 74 61 6c 2c 20 6f 72 20 63 6f 6e 73 65 71 75 65 6e ,.......incidental,.or.consequen
14160 74 69 61 6c 20 64 61 6d 61 67 65 73 20 6f 66 20 61 6e 79 20 63 68 61 72 61 63 74 65 72 20 61 72 tial.damages.of.any.character.ar
14180 69 73 69 6e 67 20 61 73 20 61 0a 20 20 20 20 20 20 72 65 73 75 6c 74 20 6f 66 20 74 68 69 73 20 ising.as.a.......result.of.this.
141a0 4c 69 63 65 6e 73 65 20 6f 72 20 6f 75 74 20 6f 66 20 74 68 65 20 75 73 65 20 6f 72 20 69 6e 61 License.or.out.of.the.use.or.ina
141c0 62 69 6c 69 74 79 20 74 6f 20 75 73 65 20 74 68 65 0a 20 20 20 20 20 20 57 6f 72 6b 20 28 69 6e bility.to.use.the.......Work.(in
141e0 63 6c 75 64 69 6e 67 20 62 75 74 20 6e 6f 74 20 6c 69 6d 69 74 65 64 20 74 6f 20 64 61 6d 61 67 cluding.but.not.limited.to.damag
14200 65 73 20 66 6f 72 20 6c 6f 73 73 20 6f 66 20 67 6f 6f 64 77 69 6c 6c 2c 0a 20 20 20 20 20 20 77 es.for.loss.of.goodwill,.......w
14220 6f 72 6b 20 73 74 6f 70 70 61 67 65 2c 20 63 6f 6d 70 75 74 65 72 20 66 61 69 6c 75 72 65 20 6f ork.stoppage,.computer.failure.o
14240 72 20 6d 61 6c 66 75 6e 63 74 69 6f 6e 2c 20 6f 72 20 61 6e 79 20 61 6e 64 20 61 6c 6c 0a 20 20 r.malfunction,.or.any.and.all...
14260 20 20 20 20 6f 74 68 65 72 20 63 6f 6d 6d 65 72 63 69 61 6c 20 64 61 6d 61 67 65 73 20 6f 72 20 ....other.commercial.damages.or.
14280 6c 6f 73 73 65 73 29 2c 20 65 76 65 6e 20 69 66 20 73 75 63 68 20 43 6f 6e 74 72 69 62 75 74 6f losses),.even.if.such.Contributo
142a0 72 0a 20 20 20 20 20 20 68 61 73 20 62 65 65 6e 20 61 64 76 69 73 65 64 20 6f 66 20 74 68 65 20 r.......has.been.advised.of.the.
142c0 70 6f 73 73 69 62 69 6c 69 74 79 20 6f 66 20 73 75 63 68 20 64 61 6d 61 67 65 73 2e 0a 0a 20 20 possibility.of.such.damages.....
142e0 20 39 2e 20 41 63 63 65 70 74 69 6e 67 20 57 61 72 72 61 6e 74 79 20 6f 72 20 41 64 64 69 74 69 .9..Accepting.Warranty.or.Additi
14300 6f 6e 61 6c 20 4c 69 61 62 69 6c 69 74 79 2e 20 57 68 69 6c 65 20 72 65 64 69 73 74 72 69 62 75 onal.Liability..While.redistribu
14320 74 69 6e 67 0a 20 20 20 20 20 20 74 68 65 20 57 6f 72 6b 20 6f 72 20 44 65 72 69 76 61 74 69 76 ting.......the.Work.or.Derivativ
14340 65 20 57 6f 72 6b 73 20 74 68 65 72 65 6f 66 2c 20 59 6f 75 20 6d 61 79 20 63 68 6f 6f 73 65 20 e.Works.thereof,.You.may.choose.
14360 74 6f 20 6f 66 66 65 72 2c 0a 20 20 20 20 20 20 61 6e 64 20 63 68 61 72 67 65 20 61 20 66 65 65 to.offer,.......and.charge.a.fee
14380 20 66 6f 72 2c 20 61 63 63 65 70 74 61 6e 63 65 20 6f 66 20 73 75 70 70 6f 72 74 2c 20 77 61 72 .for,.acceptance.of.support,.war
143a0 72 61 6e 74 79 2c 20 69 6e 64 65 6d 6e 69 74 79 2c 0a 20 20 20 20 20 20 6f 72 20 6f 74 68 65 72 ranty,.indemnity,.......or.other
143c0 20 6c 69 61 62 69 6c 69 74 79 20 6f 62 6c 69 67 61 74 69 6f 6e 73 20 61 6e 64 2f 6f 72 20 72 69 .liability.obligations.and/or.ri
143e0 67 68 74 73 20 63 6f 6e 73 69 73 74 65 6e 74 20 77 69 74 68 20 74 68 69 73 0a 20 20 20 20 20 20 ghts.consistent.with.this.......
14400 4c 69 63 65 6e 73 65 2e 20 48 6f 77 65 76 65 72 2c 20 69 6e 20 61 63 63 65 70 74 69 6e 67 20 73 License..However,.in.accepting.s
14420 75 63 68 20 6f 62 6c 69 67 61 74 69 6f 6e 73 2c 20 59 6f 75 20 6d 61 79 20 61 63 74 20 6f 6e 6c uch.obligations,.You.may.act.onl
14440 79 0a 20 20 20 20 20 20 6f 6e 20 59 6f 75 72 20 6f 77 6e 20 62 65 68 61 6c 66 20 61 6e 64 20 6f y.......on.Your.own.behalf.and.o
14460 6e 20 59 6f 75 72 20 73 6f 6c 65 20 72 65 73 70 6f 6e 73 69 62 69 6c 69 74 79 2c 20 6e 6f 74 20 n.Your.sole.responsibility,.not.
14480 6f 6e 20 62 65 68 61 6c 66 0a 20 20 20 20 20 20 6f 66 20 61 6e 79 20 6f 74 68 65 72 20 43 6f 6e on.behalf.......of.any.other.Con
144a0 74 72 69 62 75 74 6f 72 2c 20 61 6e 64 20 6f 6e 6c 79 20 69 66 20 59 6f 75 20 61 67 72 65 65 20 tributor,.and.only.if.You.agree.
144c0 74 6f 20 69 6e 64 65 6d 6e 69 66 79 2c 0a 20 20 20 20 20 20 64 65 66 65 6e 64 2c 20 61 6e 64 20 to.indemnify,.......defend,.and.
144e0 68 6f 6c 64 20 65 61 63 68 20 43 6f 6e 74 72 69 62 75 74 6f 72 20 68 61 72 6d 6c 65 73 73 20 66 hold.each.Contributor.harmless.f
14500 6f 72 20 61 6e 79 20 6c 69 61 62 69 6c 69 74 79 0a 20 20 20 20 20 20 69 6e 63 75 72 72 65 64 20 or.any.liability.......incurred.
14520 62 79 2c 20 6f 72 20 63 6c 61 69 6d 73 20 61 73 73 65 72 74 65 64 20 61 67 61 69 6e 73 74 2c 20 by,.or.claims.asserted.against,.
14540 73 75 63 68 20 43 6f 6e 74 72 69 62 75 74 6f 72 20 62 79 20 72 65 61 73 6f 6e 0a 20 20 20 20 20 such.Contributor.by.reason......
14560 20 6f 66 20 79 6f 75 72 20 61 63 63 65 70 74 69 6e 67 20 61 6e 79 20 73 75 63 68 20 77 61 72 72 .of.your.accepting.any.such.warr
14580 61 6e 74 79 20 6f 72 20 61 64 64 69 74 69 6f 6e 61 6c 20 6c 69 61 62 69 6c 69 74 79 2e 0a 0a 00 anty.or.additional.liability....
145a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
145c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
145e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14600 6e 65 74 77 6f 72 6b 69 6e 67 2d 6f 6e 6f 73 2f 72 65 71 75 69 72 65 6d 65 6e 74 73 2e 74 78 74 networking-onos/requirements.txt
14620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14660 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000644.0001750.0001750.0000
14680 30 30 30 30 34 34 36 00 31 32 36 32 37 35 31 33 34 34 32 00 30 31 36 32 33 35 00 20 30 00 00 00 0000446.12627513442.016235..0...
146a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
146c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
146e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14700 00 75 73 74 61 72 20 20 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...onos...................
14720 00 00 00 00 00 00 00 00 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........onos...................
14740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
147a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
147c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
147e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14800 23 20 54 68 65 20 6f 72 64 65 72 20 6f 66 20 70 61 63 6b 61 67 65 73 20 69 73 20 73 69 67 6e 69 #.The.order.of.packages.is.signi
14820 66 69 63 61 6e 74 2c 20 62 65 63 61 75 73 65 20 70 69 70 20 70 72 6f 63 65 73 73 65 73 20 74 68 ficant,.because.pip.processes.th
14840 65 6d 20 69 6e 20 74 68 65 20 6f 72 64 65 72 0a 23 20 6f 66 20 61 70 70 65 61 72 61 6e 63 65 2e em.in.the.order.#.of.appearance.
14860 20 43 68 61 6e 67 69 6e 67 20 74 68 65 20 6f 72 64 65 72 20 68 61 73 20 61 6e 20 69 6d 70 61 63 .Changing.the.order.has.an.impac
14880 74 20 6f 6e 20 74 68 65 20 6f 76 65 72 61 6c 6c 20 69 6e 74 65 67 72 61 74 69 6f 6e 0a 23 20 70 t.on.the.overall.integration.#.p
148a0 72 6f 63 65 73 73 2c 20 77 68 69 63 68 20 6d 61 79 20 63 61 75 73 65 20 77 65 64 67 65 73 20 69 rocess,.which.may.cause.wedges.i
148c0 6e 20 74 68 65 20 67 61 74 65 20 6c 61 74 65 72 2e 0a 0a 70 62 72 3e 3d 31 2e 36 0a 42 61 62 65 n.the.gate.later...pbr>=1.6.Babe
148e0 6c 3e 3d 31 2e 33 0a 2d 65 20 67 69 74 3a 2f 2f 67 69 74 2e 6f 70 65 6e 73 74 61 63 6b 2e 6f 72 l>=1.3.-e.git://git.openstack.or
14900 67 2f 6f 70 65 6e 73 74 61 63 6b 2f 6e 65 75 74 72 6f 6e 2e 67 69 74 23 65 67 67 3d 6e 65 75 74 g/openstack/neutron.git#egg=neut
14920 72 6f 6e 0a 0a 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ron.............................
14940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
149a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
149c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
149e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14a00 6e 65 74 77 6f 72 6b 69 6e 67 2d 6f 6e 6f 73 2f 48 41 43 4b 49 4e 47 2e 72 73 74 00 00 00 00 00 networking-onos/HACKING.rst.....
14a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14a60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000644.0001750.0001750.0000
14a80 30 30 30 32 35 37 30 00 31 32 36 32 37 35 31 33 34 34 32 00 30 31 34 35 34 37 00 20 30 00 00 00 0002570.12627513442.014547..0...
14aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14b00 00 75 73 74 61 72 20 20 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...onos...................
14b20 00 00 00 00 00 00 00 00 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........onos...................
14b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14c00 4e 65 75 74 72 6f 6e 20 53 74 79 6c 65 20 43 6f 6d 6d 61 6e 64 6d 65 6e 74 73 0a 3d 3d 3d 3d 3d Neutron.Style.Commandments.=====
14c20 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 2d 20 53 74 65 70 20 31 3a =====================..-.Step.1:
14c40 20 52 65 61 64 20 74 68 65 20 4f 70 65 6e 53 74 61 63 6b 20 53 74 79 6c 65 20 43 6f 6d 6d 61 6e .Read.the.OpenStack.Style.Comman
14c60 64 6d 65 6e 74 73 0a 20 20 68 74 74 70 3a 2f 2f 64 6f 63 73 2e 6f 70 65 6e 73 74 61 63 6b 2e 6f dments...http://docs.openstack.o
14c80 72 67 2f 64 65 76 65 6c 6f 70 65 72 2f 68 61 63 6b 69 6e 67 2f 0a 2d 20 53 74 65 70 20 32 3a 20 rg/developer/hacking/.-.Step.2:.
14ca0 52 65 61 64 20 6f 6e 0a 0a 4e 65 75 74 72 6f 6e 20 53 70 65 63 69 66 69 63 20 43 6f 6d 6d 61 6e Read.on..Neutron.Specific.Comman
14cc0 64 6d 65 6e 74 73 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d dments.-------------------------
14ce0 2d 0a 0a 2d 20 5b 4e 33 31 39 5d 20 56 61 6c 69 64 61 74 65 20 74 68 61 74 20 64 65 62 75 67 20 -..-.[N319].Validate.that.debug.
14d00 6c 65 76 65 6c 20 6c 6f 67 73 20 61 72 65 20 6e 6f 74 20 74 72 61 6e 73 6c 61 74 65 64 0a 2d 20 level.logs.are.not.translated.-.
14d20 5b 4e 33 32 30 5d 20 56 61 6c 69 64 61 74 65 20 74 68 61 74 20 4c 4f 47 20 6d 65 73 73 61 67 65 [N320].Validate.that.LOG.message
14d40 73 2c 20 65 78 63 65 70 74 20 64 65 62 75 67 20 6f 6e 65 73 2c 20 68 61 76 65 20 74 72 61 6e 73 s,.except.debug.ones,.have.trans
14d60 6c 61 74 69 6f 6e 73 0a 2d 20 5b 4e 33 32 31 5d 20 56 61 6c 69 64 61 74 65 20 74 68 61 74 20 6a lations.-.[N321].Validate.that.j
14d80 73 6f 6e 75 74 69 6c 73 20 6d 6f 64 75 6c 65 20 69 73 20 75 73 65 64 20 69 6e 73 74 65 61 64 20 sonutils.module.is.used.instead.
14da0 6f 66 20 6a 73 6f 6e 0a 2d 20 5b 4e 33 32 32 5d 20 57 65 20 64 6f 20 6e 6f 74 20 75 73 65 20 40 of.json.-.[N322].We.do.not.use.@
14dc0 61 75 74 68 6f 72 73 20 74 61 67 73 20 69 6e 20 73 6f 75 72 63 65 20 66 69 6c 65 73 2e 20 57 65 authors.tags.in.source.files..We
14de0 20 68 61 76 65 20 67 69 74 20 74 6f 20 74 72 61 63 6b 0a 20 20 61 75 74 68 6f 72 73 68 69 70 2e .have.git.to.track...authorship.
14e00 0a 2d 20 5b 4e 33 32 33 5d 20 44 65 74 65 63 74 20 63 6f 6d 6d 6f 6e 20 65 72 72 6f 72 73 20 77 .-.[N323].Detect.common.errors.w
14e20 69 74 68 20 61 73 73 65 72 74 5f 63 61 6c 6c 65 64 5f 6f 6e 63 65 5f 77 69 74 68 0a 0a 43 72 65 ith.assert_called_once_with..Cre
14e40 61 74 69 6e 67 20 55 6e 69 74 20 54 65 73 74 73 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ating.Unit.Tests.---------------
14e60 2d 2d 2d 2d 0a 46 6f 72 20 65 76 65 72 79 20 6e 65 77 20 66 65 61 74 75 72 65 2c 20 75 6e 69 74 ----.For.every.new.feature,.unit
14e80 20 74 65 73 74 73 20 73 68 6f 75 6c 64 20 62 65 20 63 72 65 61 74 65 64 20 74 68 61 74 20 62 6f .tests.should.be.created.that.bo
14ea0 74 68 20 74 65 73 74 20 61 6e 64 0a 28 69 6d 70 6c 69 63 69 74 6c 79 29 20 64 6f 63 75 6d 65 6e th.test.and.(implicitly).documen
14ec0 74 20 74 68 65 20 75 73 61 67 65 20 6f 66 20 73 61 69 64 20 66 65 61 74 75 72 65 2e 20 49 66 20 t.the.usage.of.said.feature..If.
14ee0 73 75 62 6d 69 74 74 69 6e 67 20 61 20 70 61 74 63 68 20 66 6f 72 20 61 0a 62 75 67 20 74 68 61 submitting.a.patch.for.a.bug.tha
14f00 74 20 68 61 64 20 6e 6f 20 75 6e 69 74 20 74 65 73 74 2c 20 61 20 6e 65 77 20 70 61 73 73 69 6e t.had.no.unit.test,.a.new.passin
14f20 67 20 75 6e 69 74 20 74 65 73 74 20 73 68 6f 75 6c 64 20 62 65 20 61 64 64 65 64 2e 20 49 66 20 g.unit.test.should.be.added..If.
14f40 61 0a 73 75 62 6d 69 74 74 65 64 20 62 75 67 20 66 69 78 20 64 6f 65 73 20 68 61 76 65 20 61 20 a.submitted.bug.fix.does.have.a.
14f60 75 6e 69 74 20 74 65 73 74 2c 20 62 65 20 73 75 72 65 20 74 6f 20 61 64 64 20 61 20 6e 65 77 20 unit.test,.be.sure.to.add.a.new.
14f80 6f 6e 65 20 74 68 61 74 20 66 61 69 6c 73 0a 77 69 74 68 6f 75 74 20 74 68 65 20 70 61 74 63 68 one.that.fails.without.the.patch
14fa0 20 61 6e 64 20 70 61 73 73 65 73 20 77 69 74 68 20 74 68 65 20 70 61 74 63 68 2e 0a 0a 41 6c 6c .and.passes.with.the.patch...All
14fc0 20 75 6e 69 74 74 65 73 74 20 63 6c 61 73 73 65 73 20 6d 75 73 74 20 75 6c 74 69 6d 61 74 65 6c .unittest.classes.must.ultimatel
14fe0 79 20 69 6e 68 65 72 69 74 20 66 72 6f 6d 20 74 65 73 74 74 6f 6f 6c 73 2e 54 65 73 74 43 61 73 y.inherit.from.testtools.TestCas
15000 65 2e 20 49 6e 20 74 68 65 0a 4e 65 75 74 72 6f 6e 20 74 65 73 74 20 73 75 69 74 65 2c 20 74 68 e..In.the.Neutron.test.suite,.th
15020 69 73 20 73 68 6f 75 6c 64 20 62 65 20 64 6f 6e 65 20 62 79 20 69 6e 68 65 72 69 74 69 6e 67 20 is.should.be.done.by.inheriting.
15040 66 72 6f 6d 0a 6e 65 75 74 72 6f 6e 2e 74 65 73 74 73 2e 62 61 73 65 2e 42 61 73 65 54 65 73 74 from.neutron.tests.base.BaseTest
15060 43 61 73 65 2e 0a 0a 41 6c 6c 20 73 65 74 55 70 20 61 6e 64 20 74 65 61 72 44 6f 77 6e 20 6d 65 Case...All.setUp.and.tearDown.me
15080 74 68 6f 64 73 20 6d 75 73 74 20 75 70 63 61 6c 6c 20 75 73 69 6e 67 20 74 68 65 20 73 75 70 65 thods.must.upcall.using.the.supe
150a0 72 28 29 20 6d 65 74 68 6f 64 2e 0a 74 65 61 72 44 6f 77 6e 20 6d 65 74 68 6f 64 73 20 73 68 6f r().method..tearDown.methods.sho
150c0 75 6c 64 20 62 65 20 61 76 6f 69 64 65 64 20 61 6e 64 20 61 64 64 43 6c 65 61 6e 75 70 20 63 61 uld.be.avoided.and.addCleanup.ca
150e0 6c 6c 73 20 73 68 6f 75 6c 64 20 62 65 20 70 72 65 66 65 72 72 65 64 2e 0a 4e 65 76 65 72 20 6d lls.should.be.preferred..Never.m
15100 61 6e 75 61 6c 6c 79 20 63 72 65 61 74 65 20 74 65 6d 70 66 69 6c 65 73 2e 20 41 6c 77 61 79 73 anually.create.tempfiles..Always
15120 20 75 73 65 20 74 68 65 20 74 65 6d 70 66 69 6c 65 20 66 69 78 74 75 72 65 73 20 66 72 6f 6d 0a .use.the.tempfile.fixtures.from.
15140 74 68 65 20 66 69 78 74 75 72 65 20 6c 69 62 72 61 72 79 20 74 6f 20 65 6e 73 75 72 65 20 74 68 the.fixture.library.to.ensure.th
15160 61 74 20 74 68 65 79 20 61 72 65 20 63 6c 65 61 6e 65 64 20 75 70 2e 0a 00 00 00 00 00 00 00 00 at.they.are.cleaned.up..........
15180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
151a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
151c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
151e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15200 6e 65 74 77 6f 72 6b 69 6e 67 2d 6f 6e 6f 73 2f 6f 70 65 6e 73 74 61 63 6b 2d 63 6f 6d 6d 6f 6e networking-onos/openstack-common
15220 2e 63 6f 6e 66 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .conf...........................
15240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15260 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000644.0001750.0001750.0000
15280 30 30 30 30 32 31 35 00 31 32 36 32 37 35 31 33 34 34 32 00 30 31 37 30 36 37 00 20 30 00 00 00 0000215.12627513442.017067..0...
152a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
152c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
152e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15300 00 75 73 74 61 72 20 20 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...onos...................
15320 00 00 00 00 00 00 00 00 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........onos...................
15340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
153a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
153c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
153e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15400 5b 44 45 46 41 55 4c 54 5d 0a 23 20 54 68 65 20 6c 69 73 74 20 6f 66 20 6d 6f 64 75 6c 65 73 20 [DEFAULT].#.The.list.of.modules.
15420 74 6f 20 63 6f 70 79 20 66 72 6f 6d 20 6f 73 6c 6f 2d 69 6e 63 75 62 61 74 6f 72 2e 67 69 74 0a to.copy.from.oslo-incubator.git.
15440 0a 23 20 54 68 65 20 62 61 73 65 20 6d 6f 64 75 6c 65 20 74 6f 20 68 6f 6c 64 20 74 68 65 20 63 .#.The.base.module.to.hold.the.c
15460 6f 70 79 20 6f 66 20 6f 70 65 6e 73 74 61 63 6b 2e 63 6f 6d 6d 6f 6e 0a 62 61 73 65 3d 6e 65 74 opy.of.openstack.common.base=net
15480 77 6f 72 6b 69 6e 67 5f 6f 6e 6f 73 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 working_onos....................
154a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
154c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
154e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
155a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
155c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
155e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15600 6e 65 74 77 6f 72 6b 69 6e 67 2d 6f 6e 6f 73 2f 74 6f 6f 6c 73 2f 00 00 00 00 00 00 00 00 00 00 networking-onos/tools/..........
15620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15660 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000755.0001750.0001750.0000
15680 30 30 30 30 30 30 30 00 31 32 36 32 37 35 31 33 34 34 32 00 30 31 34 31 30 35 00 20 35 00 00 00 0000000.12627513442.014105..5...
156a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
156c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
156e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15700 00 75 73 74 61 72 20 20 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...onos...................
15720 00 00 00 00 00 00 00 00 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........onos...................
15740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
157a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
157c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
157e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15800 6e 65 74 77 6f 72 6b 69 6e 67 2d 6f 6e 6f 73 2f 74 6f 6f 6c 73 2f 77 69 74 68 5f 76 65 6e 76 2e networking-onos/tools/with_venv.
15820 73 68 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 sh..............................
15840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15860 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000644.0001750.0001750.0000
15880 30 30 30 31 33 32 33 00 31 32 36 32 37 35 31 33 34 34 32 00 30 31 36 34 35 31 00 20 30 00 00 00 0001323.12627513442.016451..0...
158a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
158c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
158e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15900 00 75 73 74 61 72 20 20 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...onos...................
15920 00 00 00 00 00 00 00 00 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........onos...................
15940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
159a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
159c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
159e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15a00 23 21 2f 62 69 6e 2f 62 61 73 68 0a 23 20 43 6f 70 79 72 69 67 68 74 20 32 30 31 31 20 4f 70 65 #!/bin/bash.#.Copyright.2011.Ope
15a20 6e 53 74 61 63 6b 20 46 6f 75 6e 64 61 74 69 6f 6e 2e 0a 23 20 41 6c 6c 20 52 69 67 68 74 73 20 nStack.Foundation..#.All.Rights.
15a40 52 65 73 65 72 76 65 64 2e 0a 23 0a 23 20 20 20 20 4c 69 63 65 6e 73 65 64 20 75 6e 64 65 72 20 Reserved..#.#....Licensed.under.
15a60 74 68 65 20 41 70 61 63 68 65 20 4c 69 63 65 6e 73 65 2c 20 56 65 72 73 69 6f 6e 20 32 2e 30 20 the.Apache.License,.Version.2.0.
15a80 28 74 68 65 20 22 4c 69 63 65 6e 73 65 22 29 3b 20 79 6f 75 20 6d 61 79 0a 23 20 20 20 20 6e 6f (the."License");.you.may.#....no
15aa0 74 20 75 73 65 20 74 68 69 73 20 66 69 6c 65 20 65 78 63 65 70 74 20 69 6e 20 63 6f 6d 70 6c 69 t.use.this.file.except.in.compli
15ac0 61 6e 63 65 20 77 69 74 68 20 74 68 65 20 4c 69 63 65 6e 73 65 2e 20 59 6f 75 20 6d 61 79 20 6f ance.with.the.License..You.may.o
15ae0 62 74 61 69 6e 0a 23 20 20 20 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 65 btain.#....a.copy.of.the.License
15b00 20 61 74 0a 23 0a 23 20 20 20 20 20 20 20 20 20 68 74 74 70 3a 2f 2f 77 77 77 2e 61 70 61 63 68 .at.#.#.........http://www.apach
15b20 65 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 4c 49 43 45 4e 53 45 2d 32 2e 30 0a 23 0a 23 20 20 e.org/licenses/LICENSE-2.0.#.#..
15b40 20 20 55 6e 6c 65 73 73 20 72 65 71 75 69 72 65 64 20 62 79 20 61 70 70 6c 69 63 61 62 6c 65 20 ..Unless.required.by.applicable.
15b60 6c 61 77 20 6f 72 20 61 67 72 65 65 64 20 74 6f 20 69 6e 20 77 72 69 74 69 6e 67 2c 20 73 6f 66 law.or.agreed.to.in.writing,.sof
15b80 74 77 61 72 65 0a 23 20 20 20 20 64 69 73 74 72 69 62 75 74 65 64 20 75 6e 64 65 72 20 74 68 65 tware.#....distributed.under.the
15ba0 20 4c 69 63 65 6e 73 65 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 6f 6e 20 61 6e 20 22 41 .License.is.distributed.on.an."A
15bc0 53 20 49 53 22 20 42 41 53 49 53 2c 20 57 49 54 48 4f 55 54 0a 23 20 20 20 20 57 41 52 52 41 4e S.IS".BASIS,.WITHOUT.#....WARRAN
15be0 54 49 45 53 20 4f 52 20 43 4f 4e 44 49 54 49 4f 4e 53 20 4f 46 20 41 4e 59 20 4b 49 4e 44 2c 20 TIES.OR.CONDITIONS.OF.ANY.KIND,.
15c00 65 69 74 68 65 72 20 65 78 70 72 65 73 73 20 6f 72 20 69 6d 70 6c 69 65 64 2e 20 53 65 65 20 74 either.express.or.implied..See.t
15c20 68 65 0a 23 20 20 20 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 74 68 65 20 73 70 65 63 69 66 69 63 he.#....License.for.the.specific
15c40 20 6c 61 6e 67 75 61 67 65 20 67 6f 76 65 72 6e 69 6e 67 20 70 65 72 6d 69 73 73 69 6f 6e 73 20 .language.governing.permissions.
15c60 61 6e 64 20 6c 69 6d 69 74 61 74 69 6f 6e 73 0a 23 20 20 20 20 75 6e 64 65 72 20 74 68 65 20 4c and.limitations.#....under.the.L
15c80 69 63 65 6e 73 65 2e 0a 0a 54 4f 4f 4c 53 3d 60 64 69 72 6e 61 6d 65 20 24 30 60 0a 56 45 4e 56 icense...TOOLS=`dirname.$0`.VENV
15ca0 3d 24 54 4f 4f 4c 53 2f 2e 2e 2f 2e 76 65 6e 76 0a 73 6f 75 72 63 65 20 24 56 45 4e 56 2f 62 69 =$TOOLS/../.venv.source.$VENV/bi
15cc0 6e 2f 61 63 74 69 76 61 74 65 20 26 26 20 22 24 40 22 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 n/activate.&&."$@"..............
15ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15e00 6e 65 74 77 6f 72 6b 69 6e 67 2d 6f 6e 6f 73 2f 74 6f 6f 6c 73 2f 69 6e 73 74 61 6c 6c 5f 76 65 networking-onos/tools/install_ve
15e20 6e 76 5f 63 6f 6d 6d 6f 6e 2e 70 79 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 nv_common.py....................
15e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15e60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000644.0001750.0001750.0000
15e80 30 30 31 33 35 30 37 00 31 32 36 32 37 35 31 33 34 34 32 00 30 32 30 35 34 31 00 20 30 00 00 00 0013507.12627513442.020541..0...
15ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15f00 00 75 73 74 61 72 20 20 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...onos...................
15f20 00 00 00 00 00 00 00 00 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........onos...................
15f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16000 23 20 43 6f 70 79 72 69 67 68 74 20 32 30 31 33 20 4f 70 65 6e 53 74 61 63 6b 20 46 6f 75 6e 64 #.Copyright.2013.OpenStack.Found
16020 61 74 69 6f 6e 0a 23 20 43 6f 70 79 72 69 67 68 74 20 32 30 31 33 20 49 42 4d 20 43 6f 72 70 2e ation.#.Copyright.2013.IBM.Corp.
16040 0a 23 0a 23 20 20 20 20 4c 69 63 65 6e 73 65 64 20 75 6e 64 65 72 20 74 68 65 20 41 70 61 63 68 .#.#....Licensed.under.the.Apach
16060 65 20 4c 69 63 65 6e 73 65 2c 20 56 65 72 73 69 6f 6e 20 32 2e 30 20 28 74 68 65 20 22 4c 69 63 e.License,.Version.2.0.(the."Lic
16080 65 6e 73 65 22 29 3b 20 79 6f 75 20 6d 61 79 0a 23 20 20 20 20 6e 6f 74 20 75 73 65 20 74 68 69 ense");.you.may.#....not.use.thi
160a0 73 20 66 69 6c 65 20 65 78 63 65 70 74 20 69 6e 20 63 6f 6d 70 6c 69 61 6e 63 65 20 77 69 74 68 s.file.except.in.compliance.with
160c0 20 74 68 65 20 4c 69 63 65 6e 73 65 2e 20 59 6f 75 20 6d 61 79 20 6f 62 74 61 69 6e 0a 23 20 20 .the.License..You.may.obtain.#..
160e0 20 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 65 20 61 74 0a 23 0a 23 20 20 ..a.copy.of.the.License.at.#.#..
16100 20 20 20 20 20 20 20 68 74 74 70 3a 2f 2f 77 77 77 2e 61 70 61 63 68 65 2e 6f 72 67 2f 6c 69 63 .......http://www.apache.org/lic
16120 65 6e 73 65 73 2f 4c 49 43 45 4e 53 45 2d 32 2e 30 0a 23 0a 23 20 20 20 20 55 6e 6c 65 73 73 20 enses/LICENSE-2.0.#.#....Unless.
16140 72 65 71 75 69 72 65 64 20 62 79 20 61 70 70 6c 69 63 61 62 6c 65 20 6c 61 77 20 6f 72 20 61 67 required.by.applicable.law.or.ag
16160 72 65 65 64 20 74 6f 20 69 6e 20 77 72 69 74 69 6e 67 2c 20 73 6f 66 74 77 61 72 65 0a 23 20 20 reed.to.in.writing,.software.#..
16180 20 20 64 69 73 74 72 69 62 75 74 65 64 20 75 6e 64 65 72 20 74 68 65 20 4c 69 63 65 6e 73 65 20 ..distributed.under.the.License.
161a0 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 6f 6e 20 61 6e 20 22 41 53 20 49 53 22 20 42 41 53 is.distributed.on.an."AS.IS".BAS
161c0 49 53 2c 20 57 49 54 48 4f 55 54 0a 23 20 20 20 20 57 41 52 52 41 4e 54 49 45 53 20 4f 52 20 43 IS,.WITHOUT.#....WARRANTIES.OR.C
161e0 4f 4e 44 49 54 49 4f 4e 53 20 4f 46 20 41 4e 59 20 4b 49 4e 44 2c 20 65 69 74 68 65 72 20 65 78 ONDITIONS.OF.ANY.KIND,.either.ex
16200 70 72 65 73 73 20 6f 72 20 69 6d 70 6c 69 65 64 2e 20 53 65 65 20 74 68 65 0a 23 20 20 20 20 4c press.or.implied..See.the.#....L
16220 69 63 65 6e 73 65 20 66 6f 72 20 74 68 65 20 73 70 65 63 69 66 69 63 20 6c 61 6e 67 75 61 67 65 icense.for.the.specific.language
16240 20 67 6f 76 65 72 6e 69 6e 67 20 70 65 72 6d 69 73 73 69 6f 6e 73 20 61 6e 64 20 6c 69 6d 69 74 .governing.permissions.and.limit
16260 61 74 69 6f 6e 73 0a 23 20 20 20 20 75 6e 64 65 72 20 74 68 65 20 4c 69 63 65 6e 73 65 2e 0a 0a ations.#....under.the.License...
16280 22 22 22 50 72 6f 76 69 64 65 73 20 6d 65 74 68 6f 64 73 20 6e 65 65 64 65 64 20 62 79 20 69 6e """Provides.methods.needed.by.in
162a0 73 74 61 6c 6c 61 74 69 6f 6e 20 73 63 72 69 70 74 20 66 6f 72 20 4f 70 65 6e 53 74 61 63 6b 20 stallation.script.for.OpenStack.
162c0 64 65 76 65 6c 6f 70 6d 65 6e 74 0a 76 69 72 74 75 61 6c 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 73 development.virtual.environments
162e0 2e 0a 0a 53 69 6e 63 65 20 74 68 69 73 20 73 63 72 69 70 74 20 69 73 20 75 73 65 64 20 74 6f 20 ...Since.this.script.is.used.to.
16300 62 6f 6f 74 73 74 72 61 70 20 61 20 76 69 72 74 75 61 6c 65 6e 76 20 66 72 6f 6d 20 74 68 65 20 bootstrap.a.virtualenv.from.the.
16320 73 79 73 74 65 6d 27 73 20 50 79 74 68 6f 6e 0a 65 6e 76 69 72 6f 6e 6d 65 6e 74 2c 20 69 74 20 system's.Python.environment,.it.
16340 73 68 6f 75 6c 64 20 62 65 20 6b 65 70 74 20 73 74 72 69 63 74 6c 79 20 63 6f 6d 70 61 74 69 62 should.be.kept.strictly.compatib
16360 6c 65 20 77 69 74 68 20 50 79 74 68 6f 6e 20 32 2e 36 2e 0a 0a 53 79 6e 63 65 64 20 69 6e 20 66 le.with.Python.2.6...Synced.in.f
16380 72 6f 6d 20 6f 70 65 6e 73 74 61 63 6b 2d 63 6f 6d 6d 6f 6e 0a 22 22 22 0a 0a 66 72 6f 6d 20 5f rom.openstack-common."""..from._
163a0 5f 66 75 74 75 72 65 5f 5f 20 69 6d 70 6f 72 74 20 70 72 69 6e 74 5f 66 75 6e 63 74 69 6f 6e 0a _future__.import.print_function.
163c0 0a 69 6d 70 6f 72 74 20 6f 70 74 70 61 72 73 65 0a 69 6d 70 6f 72 74 20 6f 73 0a 69 6d 70 6f 72 .import.optparse.import.os.impor
163e0 74 20 73 75 62 70 72 6f 63 65 73 73 0a 69 6d 70 6f 72 74 20 73 79 73 0a 0a 0a 63 6c 61 73 73 20 t.subprocess.import.sys...class.
16400 49 6e 73 74 61 6c 6c 56 65 6e 76 28 6f 62 6a 65 63 74 29 3a 0a 0a 20 20 20 20 64 65 66 20 5f 5f InstallVenv(object):......def.__
16420 69 6e 69 74 5f 5f 28 73 65 6c 66 2c 20 72 6f 6f 74 2c 20 76 65 6e 76 2c 20 72 65 71 75 69 72 65 init__(self,.root,.venv,.require
16440 6d 65 6e 74 73 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 65 73 74 5f 72 65 71 ments,..................test_req
16460 75 69 72 65 6d 65 6e 74 73 2c 20 70 79 5f 76 65 72 73 69 6f 6e 2c 0a 20 20 20 20 20 20 20 20 20 uirements,.py_version,..........
16480 20 20 20 20 20 20 20 20 70 72 6f 6a 65 63 74 29 3a 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 72 ........project):.........self.r
164a0 6f 6f 74 20 3d 20 72 6f 6f 74 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 76 65 6e 76 20 3d 20 76 oot.=.root.........self.venv.=.v
164c0 65 6e 76 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 72 65 71 75 69 72 65 6d 65 6e 74 73 20 3d 20 env.........self.requirements.=.
164e0 72 65 71 75 69 72 65 6d 65 6e 74 73 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 74 65 73 74 5f 72 requirements.........self.test_r
16500 65 71 75 69 72 65 6d 65 6e 74 73 20 3d 20 74 65 73 74 5f 72 65 71 75 69 72 65 6d 65 6e 74 73 0a equirements.=.test_requirements.
16520 20 20 20 20 20 20 20 20 73 65 6c 66 2e 70 79 5f 76 65 72 73 69 6f 6e 20 3d 20 70 79 5f 76 65 72 ........self.py_version.=.py_ver
16540 73 69 6f 6e 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 70 72 6f 6a 65 63 74 20 3d 20 70 72 6f 6a sion.........self.project.=.proj
16560 65 63 74 0a 0a 20 20 20 20 64 65 66 20 64 69 65 28 73 65 6c 66 2c 20 6d 65 73 73 61 67 65 2c 20 ect......def.die(self,.message,.
16580 2a 61 72 67 73 29 3a 0a 20 20 20 20 20 20 20 20 70 72 69 6e 74 28 6d 65 73 73 61 67 65 20 25 20 *args):.........print(message.%.
165a0 61 72 67 73 2c 20 66 69 6c 65 3d 73 79 73 2e 73 74 64 65 72 72 29 0a 20 20 20 20 20 20 20 20 73 args,.file=sys.stderr).........s
165c0 79 73 2e 65 78 69 74 28 31 29 0a 0a 20 20 20 20 64 65 66 20 63 68 65 63 6b 5f 70 79 74 68 6f 6e ys.exit(1)......def.check_python
165e0 5f 76 65 72 73 69 6f 6e 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 69 66 20 73 79 73 2e 76 _version(self):.........if.sys.v
16600 65 72 73 69 6f 6e 5f 69 6e 66 6f 20 3c 20 28 32 2c 20 36 29 3a 0a 20 20 20 20 20 20 20 20 20 20 ersion_info.<.(2,.6):...........
16620 20 20 73 65 6c 66 2e 64 69 65 28 22 4e 65 65 64 20 50 79 74 68 6f 6e 20 56 65 72 73 69 6f 6e 20 ..self.die("Need.Python.Version.
16640 3e 3d 20 32 2e 36 22 29 0a 0a 20 20 20 20 64 65 66 20 72 75 6e 5f 63 6f 6d 6d 61 6e 64 5f 77 69 >=.2.6")......def.run_command_wi
16660 74 68 5f 63 6f 64 65 28 73 65 6c 66 2c 20 63 6d 64 2c 20 72 65 64 69 72 65 63 74 5f 6f 75 74 70 th_code(self,.cmd,.redirect_outp
16680 75 74 3d 54 72 75 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ut=True,........................
166a0 20 20 20 20 20 20 20 63 68 65 63 6b 5f 65 78 69 74 5f 63 6f 64 65 3d 54 72 75 65 29 3a 0a 20 20 .......check_exit_code=True):...
166c0 20 20 20 20 20 20 22 22 22 52 75 6e 73 20 61 20 63 6f 6d 6d 61 6e 64 20 69 6e 20 61 6e 20 6f 75 ......"""Runs.a.command.in.an.ou
166e0 74 2d 6f 66 2d 70 72 6f 63 65 73 73 20 73 68 65 6c 6c 2e 0a 0a 20 20 20 20 20 20 20 20 52 65 74 t-of-process.shell...........Ret
16700 75 72 6e 73 20 74 68 65 20 6f 75 74 70 75 74 20 6f 66 20 74 68 61 74 20 63 6f 6d 6d 61 6e 64 2e urns.the.output.of.that.command.
16720 20 57 6f 72 6b 69 6e 67 20 64 69 72 65 63 74 6f 72 79 20 69 73 20 73 65 6c 66 2e 72 6f 6f 74 2e .Working.directory.is.self.root.
16740 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 69 66 20 72 65 64 69 72 65 63 74 .........""".........if.redirect
16760 5f 6f 75 74 70 75 74 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 74 64 6f 75 74 20 3d 20 73 75 _output:.............stdout.=.su
16780 62 70 72 6f 63 65 73 73 2e 50 49 50 45 0a 20 20 20 20 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 bprocess.PIPE.........else:.....
167a0 20 20 20 20 20 20 20 20 73 74 64 6f 75 74 20 3d 20 4e 6f 6e 65 0a 0a 20 20 20 20 20 20 20 20 70 ........stdout.=.None..........p
167c0 72 6f 63 20 3d 20 73 75 62 70 72 6f 63 65 73 73 2e 50 6f 70 65 6e 28 63 6d 64 2c 20 63 77 64 3d roc.=.subprocess.Popen(cmd,.cwd=
167e0 73 65 6c 66 2e 72 6f 6f 74 2c 20 73 74 64 6f 75 74 3d 73 74 64 6f 75 74 29 0a 20 20 20 20 20 20 self.root,.stdout=stdout).......
16800 20 20 6f 75 74 70 75 74 20 3d 20 70 72 6f 63 2e 63 6f 6d 6d 75 6e 69 63 61 74 65 28 29 5b 30 5d ..output.=.proc.communicate()[0]
16820 0a 20 20 20 20 20 20 20 20 69 66 20 63 68 65 63 6b 5f 65 78 69 74 5f 63 6f 64 65 20 61 6e 64 20 .........if.check_exit_code.and.
16840 70 72 6f 63 2e 72 65 74 75 72 6e 63 6f 64 65 20 21 3d 20 30 3a 0a 20 20 20 20 20 20 20 20 20 20 proc.returncode.!=.0:...........
16860 20 20 73 65 6c 66 2e 64 69 65 28 27 43 6f 6d 6d 61 6e 64 20 22 25 73 22 20 66 61 69 6c 65 64 2e ..self.die('Command."%s".failed.
16880 5c 6e 25 73 27 2c 20 27 20 27 2e 6a 6f 69 6e 28 63 6d 64 29 2c 20 6f 75 74 70 75 74 29 0a 20 20 \n%s',.'.'.join(cmd),.output)...
168a0 20 20 20 20 20 20 72 65 74 75 72 6e 20 28 6f 75 74 70 75 74 2c 20 70 72 6f 63 2e 72 65 74 75 72 ......return.(output,.proc.retur
168c0 6e 63 6f 64 65 29 0a 0a 20 20 20 20 64 65 66 20 72 75 6e 5f 63 6f 6d 6d 61 6e 64 28 73 65 6c 66 ncode)......def.run_command(self
168e0 2c 20 63 6d 64 2c 20 72 65 64 69 72 65 63 74 5f 6f 75 74 70 75 74 3d 54 72 75 65 2c 20 63 68 65 ,.cmd,.redirect_output=True,.che
16900 63 6b 5f 65 78 69 74 5f 63 6f 64 65 3d 54 72 75 65 29 3a 0a 20 20 20 20 20 20 20 20 72 65 74 75 ck_exit_code=True):.........retu
16920 72 6e 20 73 65 6c 66 2e 72 75 6e 5f 63 6f 6d 6d 61 6e 64 5f 77 69 74 68 5f 63 6f 64 65 28 63 6d rn.self.run_command_with_code(cm
16940 64 2c 20 72 65 64 69 72 65 63 74 5f 6f 75 74 70 75 74 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 d,.redirect_output,.............
16960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 68 ..............................ch
16980 65 63 6b 5f 65 78 69 74 5f 63 6f 64 65 29 5b 30 5d 0a 0a 20 20 20 20 64 65 66 20 67 65 74 5f 64 eck_exit_code)[0]......def.get_d
169a0 69 73 74 72 6f 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 69 66 20 28 6f 73 2e 70 61 74 68 istro(self):.........if.(os.path
169c0 2e 65 78 69 73 74 73 28 27 2f 65 74 63 2f 66 65 64 6f 72 61 2d 72 65 6c 65 61 73 65 27 29 20 6f .exists('/etc/fedora-release').o
169e0 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6f 73 2e 70 61 74 68 2e 65 78 69 73 74 73 r.................os.path.exists
16a00 28 27 2f 65 74 63 2f 72 65 64 68 61 74 2d 72 65 6c 65 61 73 65 27 29 29 3a 0a 20 20 20 20 20 20 ('/etc/redhat-release')):.......
16a20 20 20 20 20 20 20 72 65 74 75 72 6e 20 46 65 64 6f 72 61 28 0a 20 20 20 20 20 20 20 20 20 20 20 ......return.Fedora(............
16a40 20 20 20 20 20 73 65 6c 66 2e 72 6f 6f 74 2c 20 73 65 6c 66 2e 76 65 6e 76 2c 20 73 65 6c 66 2e .....self.root,.self.venv,.self.
16a60 72 65 71 75 69 72 65 6d 65 6e 74 73 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 requirements,.................se
16a80 6c 66 2e 74 65 73 74 5f 72 65 71 75 69 72 65 6d 65 6e 74 73 2c 20 73 65 6c 66 2e 70 79 5f 76 65 lf.test_requirements,.self.py_ve
16aa0 72 73 69 6f 6e 2c 20 73 65 6c 66 2e 70 72 6f 6a 65 63 74 29 0a 20 20 20 20 20 20 20 20 65 6c 73 rsion,.self.project).........els
16ac0 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 44 69 73 74 72 6f 28 0a 20 20 e:.............return.Distro(...
16ae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 72 6f 6f 74 2c 20 73 65 6c 66 2e 76 65 ..............self.root,.self.ve
16b00 6e 76 2c 20 73 65 6c 66 2e 72 65 71 75 69 72 65 6d 65 6e 74 73 2c 0a 20 20 20 20 20 20 20 20 20 nv,.self.requirements,..........
16b20 20 20 20 20 20 20 20 73 65 6c 66 2e 74 65 73 74 5f 72 65 71 75 69 72 65 6d 65 6e 74 73 2c 20 73 .......self.test_requirements,.s
16b40 65 6c 66 2e 70 79 5f 76 65 72 73 69 6f 6e 2c 20 73 65 6c 66 2e 70 72 6f 6a 65 63 74 29 0a 0a 20 elf.py_version,.self.project)...
16b60 20 20 20 64 65 66 20 63 68 65 63 6b 5f 64 65 70 65 6e 64 65 6e 63 69 65 73 28 73 65 6c 66 29 3a ...def.check_dependencies(self):
16b80 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 67 65 74 5f 64 69 73 74 72 6f 28 29 2e 69 6e 73 74 61 .........self.get_distro().insta
16ba0 6c 6c 5f 76 69 72 74 75 61 6c 65 6e 76 28 29 0a 0a 20 20 20 20 64 65 66 20 63 72 65 61 74 65 5f ll_virtualenv()......def.create_
16bc0 76 69 72 74 75 61 6c 65 6e 76 28 73 65 6c 66 2c 20 6e 6f 5f 73 69 74 65 5f 70 61 63 6b 61 67 65 virtualenv(self,.no_site_package
16be0 73 3d 54 72 75 65 29 3a 0a 20 20 20 20 20 20 20 20 22 22 22 43 72 65 61 74 65 73 20 74 68 65 20 s=True):........."""Creates.the.
16c00 76 69 72 74 75 61 6c 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 61 6e 64 20 69 6e 73 74 61 6c 6c 73 virtual.environment.and.installs
16c20 20 50 49 50 2e 0a 0a 20 20 20 20 20 20 20 20 43 72 65 61 74 65 73 20 74 68 65 20 76 69 72 74 75 .PIP...........Creates.the.virtu
16c40 61 6c 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 61 6e 64 20 69 6e 73 74 61 6c 6c 73 20 50 49 50 20 al.environment.and.installs.PIP.
16c60 6f 6e 6c 79 20 69 6e 74 6f 20 74 68 65 0a 20 20 20 20 20 20 20 20 76 69 72 74 75 61 6c 20 65 6e only.into.the.........virtual.en
16c80 76 69 72 6f 6e 6d 65 6e 74 2e 0a 20 20 20 20 20 20 20 20 22 22 22 0a 20 20 20 20 20 20 20 20 69 vironment..........""".........i
16ca0 66 20 6e 6f 74 20 6f 73 2e 70 61 74 68 2e 69 73 64 69 72 28 73 65 6c 66 2e 76 65 6e 76 29 3a 0a f.not.os.path.isdir(self.venv):.
16cc0 20 20 20 20 20 20 20 20 20 20 20 20 70 72 69 6e 74 28 27 43 72 65 61 74 69 6e 67 20 76 65 6e 76 ............print('Creating.venv
16ce0 2e 2e 2e 27 2c 20 65 6e 64 3d 27 20 27 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 6e 6f ...',.end='.').............if.no
16d00 5f 73 69 74 65 5f 70 61 63 6b 61 67 65 73 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 _site_packages:.................
16d20 73 65 6c 66 2e 72 75 6e 5f 63 6f 6d 6d 61 6e 64 28 5b 27 76 69 72 74 75 61 6c 65 6e 76 27 2c 20 self.run_command(['virtualenv',.
16d40 27 2d 71 27 2c 20 27 2d 2d 6e 6f 2d 73 69 74 65 2d 70 61 63 6b 61 67 65 73 27 2c 0a 20 20 20 20 '-q',.'--no-site-packages',.....
16d60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c .............................sel
16d80 66 2e 76 65 6e 76 5d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 f.venv]).............else:......
16da0 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 72 75 6e 5f 63 6f 6d 6d 61 6e 64 28 5b 27 76 69 ...........self.run_command(['vi
16dc0 72 74 75 61 6c 65 6e 76 27 2c 20 27 2d 71 27 2c 20 73 65 6c 66 2e 76 65 6e 76 5d 29 0a 20 20 20 rtualenv',.'-q',.self.venv])....
16de0 20 20 20 20 20 20 20 20 20 70 72 69 6e 74 28 27 64 6f 6e 65 2e 27 29 0a 20 20 20 20 20 20 20 20 .........print('done.').........
16e00 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 72 69 6e 74 28 22 76 65 6e 76 20 61 6c else:.............print("venv.al
16e20 72 65 61 64 79 20 65 78 69 73 74 73 2e 2e 2e 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 61 ready.exists...").............pa
16e40 73 73 0a 0a 20 20 20 20 64 65 66 20 70 69 70 5f 69 6e 73 74 61 6c 6c 28 73 65 6c 66 2c 20 2a 61 ss......def.pip_install(self,.*a
16e60 72 67 73 29 3a 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 72 75 6e 5f 63 6f 6d 6d 61 6e 64 28 5b rgs):.........self.run_command([
16e80 27 74 6f 6f 6c 73 2f 77 69 74 68 5f 76 65 6e 76 2e 73 68 27 2c 0a 20 20 20 20 20 20 20 20 20 20 'tools/with_venv.sh',...........
16ea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 70 69 70 27 2c 20 27 69 6e 73 74 61 6c 6c 27 2c ...............'pip',.'install',
16ec0 20 27 2d 2d 75 70 67 72 61 64 65 27 5d 20 2b 20 6c 69 73 74 28 61 72 67 73 29 2c 0a 20 20 20 20 .'--upgrade'].+.list(args),.....
16ee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 64 69 72 65 63 74 5f 6f 75 .....................redirect_ou
16f00 74 70 75 74 3d 46 61 6c 73 65 29 0a 0a 20 20 20 20 64 65 66 20 69 6e 73 74 61 6c 6c 5f 64 65 70 tput=False)......def.install_dep
16f20 65 6e 64 65 6e 63 69 65 73 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 70 72 69 6e 74 28 27 endencies(self):.........print('
16f40 49 6e 73 74 61 6c 6c 69 6e 67 20 64 65 70 65 6e 64 65 6e 63 69 65 73 20 77 69 74 68 20 70 69 70 Installing.dependencies.with.pip
16f60 20 28 74 68 69 73 20 63 61 6e 20 74 61 6b 65 20 61 20 77 68 69 6c 65 29 2e 2e 2e 27 29 0a 0a 20 .(this.can.take.a.while)...')...
16f80 20 20 20 20 20 20 20 23 20 46 69 72 73 74 20 74 68 69 6e 67 73 20 66 69 72 73 74 2c 20 6d 61 6b .......#.First.things.first,.mak
16fa0 65 20 73 75 72 65 20 6f 75 72 20 76 65 6e 76 20 68 61 73 20 74 68 65 20 6c 61 74 65 73 74 20 70 e.sure.our.venv.has.the.latest.p
16fc0 69 70 20 61 6e 64 0a 20 20 20 20 20 20 20 20 23 20 73 65 74 75 70 74 6f 6f 6c 73 20 61 6e 64 20 ip.and.........#.setuptools.and.
16fe0 70 62 72 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 70 69 70 5f 69 6e 73 74 61 6c 6c 28 27 70 69 pbr.........self.pip_install('pi
17000 70 3e 3d 31 2e 34 27 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 70 69 70 5f 69 6e 73 74 61 6c p>=1.4').........self.pip_instal
17020 6c 28 27 73 65 74 75 70 74 6f 6f 6c 73 27 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 70 69 70 l('setuptools').........self.pip
17040 5f 69 6e 73 74 61 6c 6c 28 27 70 62 72 27 29 0a 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 70 69 _install('pbr')..........self.pi
17060 70 5f 69 6e 73 74 61 6c 6c 28 27 2d 72 27 2c 20 73 65 6c 66 2e 72 65 71 75 69 72 65 6d 65 6e 74 p_install('-r',.self.requirement
17080 73 2c 20 27 2d 72 27 2c 20 73 65 6c 66 2e 74 65 73 74 5f 72 65 71 75 69 72 65 6d 65 6e 74 73 29 s,.'-r',.self.test_requirements)
170a0 0a 0a 20 20 20 20 64 65 66 20 70 61 72 73 65 5f 61 72 67 73 28 73 65 6c 66 2c 20 61 72 67 76 29 ......def.parse_args(self,.argv)
170c0 3a 0a 20 20 20 20 20 20 20 20 22 22 22 50 61 72 73 65 73 20 63 6f 6d 6d 61 6e 64 2d 6c 69 6e 65 :........."""Parses.command-line
170e0 20 61 72 67 75 6d 65 6e 74 73 2e 22 22 22 0a 20 20 20 20 20 20 20 20 70 61 72 73 65 72 20 3d 20 .arguments.""".........parser.=.
17100 6f 70 74 70 61 72 73 65 2e 4f 70 74 69 6f 6e 50 61 72 73 65 72 28 29 0a 20 20 20 20 20 20 20 20 optparse.OptionParser().........
17120 70 61 72 73 65 72 2e 61 64 64 5f 6f 70 74 69 6f 6e 28 27 2d 6e 27 2c 20 27 2d 2d 6e 6f 2d 73 69 parser.add_option('-n',.'--no-si
17140 74 65 2d 70 61 63 6b 61 67 65 73 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 te-packages',...................
17160 20 20 20 20 20 20 20 20 61 63 74 69 6f 6e 3d 27 73 74 6f 72 65 5f 74 72 75 65 27 2c 0a 20 20 20 ........action='store_true',....
17180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 68 65 6c 70 3d 22 44 6f 20 .......................help="Do.
171a0 6e 6f 74 20 69 6e 68 65 72 69 74 20 70 61 63 6b 61 67 65 73 20 66 72 6f 6d 20 67 6c 6f 62 61 6c not.inherit.packages.from.global
171c0 20 50 79 74 68 6f 6e 20 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .Python.".......................
171e0 20 20 20 20 20 20 20 20 20 22 69 6e 73 74 61 6c 6c 2e 22 29 0a 20 20 20 20 20 20 20 20 72 65 74 ........."install.").........ret
17200 75 72 6e 20 70 61 72 73 65 72 2e 70 61 72 73 65 5f 61 72 67 73 28 61 72 67 76 5b 31 3a 5d 29 5b urn.parser.parse_args(argv[1:])[
17220 30 5d 0a 0a 0a 63 6c 61 73 73 20 44 69 73 74 72 6f 28 49 6e 73 74 61 6c 6c 56 65 6e 76 29 3a 0a 0]...class.Distro(InstallVenv):.
17240 0a 20 20 20 20 64 65 66 20 63 68 65 63 6b 5f 63 6d 64 28 73 65 6c 66 2c 20 63 6d 64 29 3a 0a 20 .....def.check_cmd(self,.cmd):..
17260 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 62 6f 6f 6c 28 73 65 6c 66 2e 72 75 6e 5f 63 6f 6d 6d .......return.bool(self.run_comm
17280 61 6e 64 28 5b 27 77 68 69 63 68 27 2c 20 63 6d 64 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 and(['which',.cmd],.............
172a0 20 20 20 20 20 20 20 20 63 68 65 63 6b 5f 65 78 69 74 5f 63 6f 64 65 3d 46 61 6c 73 65 29 2e 73 ........check_exit_code=False).s
172c0 74 72 69 70 28 29 29 0a 0a 20 20 20 20 64 65 66 20 69 6e 73 74 61 6c 6c 5f 76 69 72 74 75 61 6c trip())......def.install_virtual
172e0 65 6e 76 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 69 66 20 73 65 6c 66 2e 63 68 65 63 6b env(self):.........if.self.check
17300 5f 63 6d 64 28 27 76 69 72 74 75 61 6c 65 6e 76 27 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 _cmd('virtualenv'):.............
17320 72 65 74 75 72 6e 0a 0a 20 20 20 20 20 20 20 20 69 66 20 73 65 6c 66 2e 63 68 65 63 6b 5f 63 6d return..........if.self.check_cm
17340 64 28 27 65 61 73 79 5f 69 6e 73 74 61 6c 6c 27 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 d('easy_install'):.............p
17360 72 69 6e 74 28 27 49 6e 73 74 61 6c 6c 69 6e 67 20 76 69 72 74 75 61 6c 65 6e 76 20 76 69 61 20 rint('Installing.virtualenv.via.
17380 65 61 73 79 5f 69 6e 73 74 61 6c 6c 2e 2e 2e 27 2c 20 65 6e 64 3d 27 20 27 29 0a 20 20 20 20 20 easy_install...',.end='.')......
173a0 20 20 20 20 20 20 20 69 66 20 73 65 6c 66 2e 72 75 6e 5f 63 6f 6d 6d 61 6e 64 28 5b 27 65 61 73 .......if.self.run_command(['eas
173c0 79 5f 69 6e 73 74 61 6c 6c 27 2c 20 27 76 69 72 74 75 61 6c 65 6e 76 27 5d 29 3a 0a 20 20 20 20 y_install',.'virtualenv']):.....
173e0 20 20 20 20 20 20 20 20 20 20 20 20 70 72 69 6e 74 28 27 53 75 63 63 65 65 64 65 64 27 29 0a 20 ............print('Succeeded')..
17400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 0a 20 20 20 20 20 20 20 20 20 20 ...............return...........
17420 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 72 69 6e 74 28 27 46 ..else:.................print('F
17440 61 69 6c 65 64 27 29 0a 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 64 69 65 28 27 45 52 52 4f 52 ailed')..........self.die('ERROR
17460 3a 20 76 69 72 74 75 61 6c 65 6e 76 20 6e 6f 74 20 66 6f 75 6e 64 2e 5c 6e 5c 6e 25 73 20 64 65 :.virtualenv.not.found.\n\n%s.de
17480 76 65 6c 6f 70 6d 65 6e 74 27 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 20 72 65 velopment'..................'.re
174a0 71 75 69 72 65 73 20 76 69 72 74 75 61 6c 65 6e 76 2c 20 70 6c 65 61 73 65 20 69 6e 73 74 61 6c quires.virtualenv,.please.instal
174c0 6c 20 69 74 20 75 73 69 6e 67 20 79 6f 75 72 27 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 l.it.using.your'................
174e0 20 20 27 20 66 61 76 6f 72 69 74 65 20 70 61 63 6b 61 67 65 20 6d 61 6e 61 67 65 6d 65 6e 74 20 ..'.favorite.package.management.
17500 74 6f 6f 6c 27 20 25 20 73 65 6c 66 2e 70 72 6f 6a 65 63 74 29 0a 0a 0a 63 6c 61 73 73 20 46 65 tool'.%.self.project)...class.Fe
17520 64 6f 72 61 28 44 69 73 74 72 6f 29 3a 0a 20 20 20 20 22 22 22 54 68 69 73 20 63 6f 76 65 72 73 dora(Distro):....."""This.covers
17540 20 61 6c 6c 20 46 65 64 6f 72 61 2d 62 61 73 65 64 20 64 69 73 74 72 69 62 75 74 69 6f 6e 73 2e .all.Fedora-based.distributions.
17560 0a 0a 20 20 20 20 49 6e 63 6c 75 64 65 73 3a 20 46 65 64 6f 72 61 2c 20 52 48 45 4c 2c 20 43 65 ......Includes:.Fedora,.RHEL,.Ce
17580 6e 74 4f 53 2c 20 53 63 69 65 6e 74 69 66 69 63 20 4c 69 6e 75 78 0a 20 20 20 20 22 22 22 0a 0a ntOS,.Scientific.Linux....."""..
175a0 20 20 20 20 64 65 66 20 63 68 65 63 6b 5f 70 6b 67 28 73 65 6c 66 2c 20 70 6b 67 29 3a 0a 20 20 ....def.check_pkg(self,.pkg):...
175c0 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c 66 2e 72 75 6e 5f 63 6f 6d 6d 61 6e 64 5f 77 69 ......return.self.run_command_wi
175e0 74 68 5f 63 6f 64 65 28 5b 27 72 70 6d 27 2c 20 27 2d 71 27 2c 20 70 6b 67 5d 2c 0a 20 20 20 20 th_code(['rpm',.'-q',.pkg],.....
17600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
17620 20 20 20 20 20 20 63 68 65 63 6b 5f 65 78 69 74 5f 63 6f 64 65 3d 46 61 6c 73 65 29 5b 31 5d 20 ......check_exit_code=False)[1].
17640 3d 3d 20 30 0a 0a 20 20 20 20 64 65 66 20 69 6e 73 74 61 6c 6c 5f 76 69 72 74 75 61 6c 65 6e 76 ==.0......def.install_virtualenv
17660 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 69 66 20 73 65 6c 66 2e 63 68 65 63 6b 5f 63 6d (self):.........if.self.check_cm
17680 64 28 27 76 69 72 74 75 61 6c 65 6e 76 27 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 d('virtualenv'):.............ret
176a0 75 72 6e 0a 0a 20 20 20 20 20 20 20 20 69 66 20 6e 6f 74 20 73 65 6c 66 2e 63 68 65 63 6b 5f 70 urn..........if.not.self.check_p
176c0 6b 67 28 27 70 79 74 68 6f 6e 2d 76 69 72 74 75 61 6c 65 6e 76 27 29 3a 0a 20 20 20 20 20 20 20 kg('python-virtualenv'):........
176e0 20 20 20 20 20 73 65 6c 66 2e 64 69 65 28 22 50 6c 65 61 73 65 20 69 6e 73 74 61 6c 6c 20 27 70 .....self.die("Please.install.'p
17700 79 74 68 6f 6e 2d 76 69 72 74 75 61 6c 65 6e 76 27 2e 22 29 0a 0a 20 20 20 20 20 20 20 20 73 75 ython-virtualenv'.")..........su
17720 70 65 72 28 46 65 64 6f 72 61 2c 20 73 65 6c 66 29 2e 69 6e 73 74 61 6c 6c 5f 76 69 72 74 75 61 per(Fedora,.self).install_virtua
17740 6c 65 6e 76 28 29 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 lenv()..........................
17760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
177a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
177c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
177e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17800 6e 65 74 77 6f 72 6b 69 6e 67 2d 6f 6e 6f 73 2f 74 6f 6f 6c 73 2f 63 68 65 63 6b 5f 69 31 38 6e networking-onos/tools/check_i18n
17820 2e 70 79 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .py.............................
17840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17860 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000644.0001750.0001750.0000
17880 30 30 31 32 34 33 34 00 31 32 36 32 37 35 31 33 34 34 32 00 30 31 36 33 37 37 00 20 30 00 00 00 0012434.12627513442.016377..0...
178a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
178c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
178e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17900 00 75 73 74 61 72 20 20 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...onos...................
17920 00 00 00 00 00 00 00 00 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........onos...................
17940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
179a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
179c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
179e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17a00 23 20 20 20 20 43 6f 70 79 72 69 67 68 74 20 32 30 31 32 20 4f 70 65 6e 53 74 61 63 6b 20 46 6f #....Copyright.2012.OpenStack.Fo
17a20 75 6e 64 61 74 69 6f 6e 0a 23 0a 23 20 20 20 20 4c 69 63 65 6e 73 65 64 20 75 6e 64 65 72 20 74 undation.#.#....Licensed.under.t
17a40 68 65 20 41 70 61 63 68 65 20 4c 69 63 65 6e 73 65 2c 20 56 65 72 73 69 6f 6e 20 32 2e 30 20 28 he.Apache.License,.Version.2.0.(
17a60 74 68 65 20 22 4c 69 63 65 6e 73 65 22 29 3b 20 79 6f 75 20 6d 61 79 0a 23 20 20 20 20 6e 6f 74 the."License");.you.may.#....not
17a80 20 75 73 65 20 74 68 69 73 20 66 69 6c 65 20 65 78 63 65 70 74 20 69 6e 20 63 6f 6d 70 6c 69 61 .use.this.file.except.in.complia
17aa0 6e 63 65 20 77 69 74 68 20 74 68 65 20 4c 69 63 65 6e 73 65 2e 20 59 6f 75 20 6d 61 79 20 6f 62 nce.with.the.License..You.may.ob
17ac0 74 61 69 6e 0a 23 20 20 20 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 65 20 tain.#....a.copy.of.the.License.
17ae0 61 74 0a 23 0a 23 20 20 20 20 20 20 20 20 20 68 74 74 70 3a 2f 2f 77 77 77 2e 61 70 61 63 68 65 at.#.#.........http://www.apache
17b00 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 4c 49 43 45 4e 53 45 2d 32 2e 30 0a 23 0a 23 20 20 20 .org/licenses/LICENSE-2.0.#.#...
17b20 20 55 6e 6c 65 73 73 20 72 65 71 75 69 72 65 64 20 62 79 20 61 70 70 6c 69 63 61 62 6c 65 20 6c .Unless.required.by.applicable.l
17b40 61 77 20 6f 72 20 61 67 72 65 65 64 20 74 6f 20 69 6e 20 77 72 69 74 69 6e 67 2c 20 73 6f 66 74 aw.or.agreed.to.in.writing,.soft
17b60 77 61 72 65 0a 23 20 20 20 20 64 69 73 74 72 69 62 75 74 65 64 20 75 6e 64 65 72 20 74 68 65 20 ware.#....distributed.under.the.
17b80 4c 69 63 65 6e 73 65 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 6f 6e 20 61 6e 20 22 41 53 License.is.distributed.on.an."AS
17ba0 20 49 53 22 20 42 41 53 49 53 2c 20 57 49 54 48 4f 55 54 0a 23 20 20 20 20 57 41 52 52 41 4e 54 .IS".BASIS,.WITHOUT.#....WARRANT
17bc0 49 45 53 20 4f 52 20 43 4f 4e 44 49 54 49 4f 4e 53 20 4f 46 20 41 4e 59 20 4b 49 4e 44 2c 20 65 IES.OR.CONDITIONS.OF.ANY.KIND,.e
17be0 69 74 68 65 72 20 65 78 70 72 65 73 73 20 6f 72 20 69 6d 70 6c 69 65 64 2e 20 53 65 65 20 74 68 ither.express.or.implied..See.th
17c00 65 0a 23 20 20 20 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 74 68 65 20 73 70 65 63 69 66 69 63 20 e.#....License.for.the.specific.
17c20 6c 61 6e 67 75 61 67 65 20 67 6f 76 65 72 6e 69 6e 67 20 70 65 72 6d 69 73 73 69 6f 6e 73 20 61 language.governing.permissions.a
17c40 6e 64 20 6c 69 6d 69 74 61 74 69 6f 6e 73 0a 23 20 20 20 20 75 6e 64 65 72 20 74 68 65 20 4c 69 nd.limitations.#....under.the.Li
17c60 63 65 6e 73 65 2e 0a 66 72 6f 6d 20 5f 5f 66 75 74 75 72 65 5f 5f 20 69 6d 70 6f 72 74 20 70 72 cense..from.__future__.import.pr
17c80 69 6e 74 5f 66 75 6e 63 74 69 6f 6e 0a 0a 69 6d 70 6f 72 74 20 63 6f 6d 70 69 6c 65 72 0a 69 6d int_function..import.compiler.im
17ca0 70 6f 72 74 20 69 6d 70 0a 69 6d 70 6f 72 74 20 6f 73 2e 70 61 74 68 0a 69 6d 70 6f 72 74 20 73 port.imp.import.os.path.import.s
17cc0 79 73 0a 0a 0a 64 65 66 20 69 73 5f 6c 6f 63 61 6c 69 7a 65 64 28 6e 6f 64 65 29 3a 0a 20 20 20 ys...def.is_localized(node):....
17ce0 20 22 22 22 43 68 65 63 6b 20 6d 65 73 73 61 67 65 20 77 72 61 70 70 65 64 20 62 79 20 5f 28 29 ."""Check.message.wrapped.by._()
17d00 22 22 22 0a 20 20 20 20 69 66 20 69 73 69 6e 73 74 61 6e 63 65 28 6e 6f 64 65 2e 70 61 72 65 6e """.....if.isinstance(node.paren
17d20 74 2c 20 63 6f 6d 70 69 6c 65 72 2e 61 73 74 2e 43 61 6c 6c 46 75 6e 63 29 3a 0a 20 20 20 20 20 t,.compiler.ast.CallFunc):......
17d40 20 20 20 69 66 20 69 73 69 6e 73 74 61 6e 63 65 28 6e 6f 64 65 2e 70 61 72 65 6e 74 2e 6e 6f 64 ...if.isinstance(node.parent.nod
17d60 65 2c 20 63 6f 6d 70 69 6c 65 72 2e 61 73 74 2e 4e 61 6d 65 29 3a 0a 20 20 20 20 20 20 20 20 20 e,.compiler.ast.Name):..........
17d80 20 20 20 69 66 20 6e 6f 64 65 2e 70 61 72 65 6e 74 2e 6e 6f 64 65 2e 6e 61 6d 65 20 3d 3d 20 27 ...if.node.parent.node.name.==.'
17da0 5f 27 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 54 72 75 65 0a _':.................return.True.
17dc0 20 20 20 20 72 65 74 75 72 6e 20 46 61 6c 73 65 0a 0a 0a 63 6c 61 73 73 20 41 53 54 57 61 6c 6b ....return.False...class.ASTWalk
17de0 65 72 28 63 6f 6d 70 69 6c 65 72 2e 76 69 73 69 74 6f 72 2e 41 53 54 56 69 73 69 74 6f 72 29 3a er(compiler.visitor.ASTVisitor):
17e00 0a 0a 20 20 20 20 64 65 66 20 64 65 66 61 75 6c 74 28 73 65 6c 66 2c 20 6e 6f 64 65 2c 20 2a 61 ......def.default(self,.node,.*a
17e20 72 67 73 29 3a 0a 20 20 20 20 20 20 20 20 66 6f 72 20 63 68 69 6c 64 20 69 6e 20 6e 6f 64 65 2e rgs):.........for.child.in.node.
17e40 67 65 74 43 68 69 6c 64 4e 6f 64 65 73 28 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 68 69 getChildNodes():.............chi
17e60 6c 64 2e 70 61 72 65 6e 74 20 3d 20 6e 6f 64 65 0a 20 20 20 20 20 20 20 20 63 6f 6d 70 69 6c 65 ld.parent.=.node.........compile
17e80 72 2e 76 69 73 69 74 6f 72 2e 41 53 54 56 69 73 69 74 6f 72 2e 64 65 66 61 75 6c 74 28 73 65 6c r.visitor.ASTVisitor.default(sel
17ea0 66 2c 20 6e 6f 64 65 2c 20 2a 61 72 67 73 29 0a 0a 0a 63 6c 61 73 73 20 56 69 73 69 74 6f 72 28 f,.node,.*args)...class.Visitor(
17ec0 6f 62 6a 65 63 74 29 3a 0a 0a 20 20 20 20 64 65 66 20 5f 5f 69 6e 69 74 5f 5f 28 73 65 6c 66 2c object):......def.__init__(self,
17ee0 20 66 69 6c 65 6e 61 6d 65 2c 20 69 31 38 6e 5f 6d 73 67 5f 70 72 65 64 69 63 61 74 65 73 2c 0a .filename,.i18n_msg_predicates,.
17f00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 73 67 5f 66 6f 72 6d 61 74 5f 63 68 65 63 .................msg_format_chec
17f20 6b 65 72 73 2c 20 64 65 62 75 67 29 3a 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 66 69 6c 65 6e kers,.debug):.........self.filen
17f40 61 6d 65 20 3d 20 66 69 6c 65 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 64 65 62 75 ame.=.filename.........self.debu
17f60 67 20 3d 20 64 65 62 75 67 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 65 72 72 6f 72 20 3d 20 30 g.=.debug.........self.error.=.0
17f80 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 69 31 38 6e 5f 6d 73 67 5f 70 72 65 64 69 63 61 74 65 .........self.i18n_msg_predicate
17fa0 73 20 3d 20 69 31 38 6e 5f 6d 73 67 5f 70 72 65 64 69 63 61 74 65 73 0a 20 20 20 20 20 20 20 20 s.=.i18n_msg_predicates.........
17fc0 73 65 6c 66 2e 6d 73 67 5f 66 6f 72 6d 61 74 5f 63 68 65 63 6b 65 72 73 20 3d 20 6d 73 67 5f 66 self.msg_format_checkers.=.msg_f
17fe0 6f 72 6d 61 74 5f 63 68 65 63 6b 65 72 73 0a 20 20 20 20 20 20 20 20 77 69 74 68 20 6f 70 65 6e ormat_checkers.........with.open
18000 28 66 69 6c 65 6e 61 6d 65 29 20 61 73 20 66 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c (filename).as.f:.............sel
18020 66 2e 6c 69 6e 65 73 20 3d 20 66 2e 72 65 61 64 6c 69 6e 65 73 28 29 0a 0a 20 20 20 20 64 65 66 f.lines.=.f.readlines()......def
18040 20 76 69 73 69 74 43 6f 6e 73 74 28 73 65 6c 66 2c 20 6e 6f 64 65 29 3a 0a 20 20 20 20 20 20 20 .visitConst(self,.node):........
18060 20 69 66 20 6e 6f 74 20 69 73 69 6e 73 74 61 6e 63 65 28 6e 6f 64 65 2e 76 61 6c 75 65 2c 20 73 .if.not.isinstance(node.value,.s
18080 74 72 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 0a 0a 20 20 20 20 20 20 20 tr):.............return.........
180a0 20 69 66 20 69 73 5f 6c 6f 63 61 6c 69 7a 65 64 28 6e 6f 64 65 29 3a 0a 20 20 20 20 20 20 20 20 .if.is_localized(node):.........
180c0 20 20 20 20 66 6f 72 20 28 63 68 65 63 6b 65 72 2c 20 6d 73 67 29 20 69 6e 20 73 65 6c 66 2e 6d ....for.(checker,.msg).in.self.m
180e0 73 67 5f 66 6f 72 6d 61 74 5f 63 68 65 63 6b 65 72 73 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 sg_format_checkers:.............
18100 20 20 20 20 69 66 20 63 68 65 63 6b 65 72 28 6e 6f 64 65 29 3a 0a 20 20 20 20 20 20 20 20 20 20 ....if.checker(node):...........
18120 20 20 20 20 20 20 20 20 20 20 70 72 69 6e 74 28 27 25 73 3a 25 64 20 25 73 3a 20 25 73 20 45 72 ..........print('%s:%d.%s:.%s.Er
18140 72 6f 72 3a 20 25 73 27 20 25 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ror:.%s'.%......................
18160 20 20 20 20 20 28 73 65 6c 66 2e 66 69 6c 65 6e 61 6d 65 2c 20 6e 6f 64 65 2e 6c 69 6e 65 6e 6f .....(self.filename,.node.lineno
18180 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c ,............................sel
181a0 66 2e 6c 69 6e 65 73 5b 6e 6f 64 65 2e 6c 69 6e 65 6e 6f 20 2d 20 31 5d 5b 3a 2d 31 5d 2c 0a 20 f.lines[node.lineno.-.1][:-1],..
181c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 68 65 63 6b 65 ..........................checke
181e0 72 2e 5f 5f 6e 61 6d 65 5f 5f 2c 20 6d 73 67 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 r.__name__,.msg),...............
18200 20 20 20 20 20 20 20 20 20 20 20 20 20 66 69 6c 65 3d 73 79 73 2e 73 74 64 65 72 72 29 0a 20 20 .............file=sys.stderr)...
18220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 65 72 72 6f 72 20 3d 20 31 ..................self.error.=.1
18240 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 0a 20 20 20 20 .....................return.....
18260 20 20 20 20 20 20 20 20 69 66 20 64 65 62 75 67 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ........if.debug:...............
18280 20 20 70 72 69 6e 74 28 27 25 73 3a 25 64 20 25 73 3a 20 25 73 27 20 25 0a 20 20 20 20 20 20 20 ..print('%s:%d.%s:.%s'.%........
182a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 6c 66 2e 66 69 6c 65 6e 61 6d 65 2c 20 6e ...............(self.filename,.n
182c0 6f 64 65 2e 6c 69 6e 65 6e 6f 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ode.lineno,.....................
182e0 20 20 20 73 65 6c 66 2e 6c 69 6e 65 73 5b 6e 6f 64 65 2e 6c 69 6e 65 6e 6f 20 2d 20 31 5d 5b 3a ...self.lines[node.lineno.-.1][:
18300 2d 31 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 50 61 73 -1],........................"Pas
18320 73 22 29 29 0a 20 20 20 20 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 s")).........else:.............f
18340 6f 72 20 28 70 72 65 64 69 63 61 74 65 2c 20 61 63 74 69 6f 6e 2c 20 6d 73 67 29 20 69 6e 20 73 or.(predicate,.action,.msg).in.s
18360 65 6c 66 2e 69 31 38 6e 5f 6d 73 67 5f 70 72 65 64 69 63 61 74 65 73 3a 0a 20 20 20 20 20 20 20 elf.i18n_msg_predicates:........
18380 20 20 20 20 20 20 20 20 20 69 66 20 70 72 65 64 69 63 61 74 65 28 6e 6f 64 65 29 3a 0a 20 20 20 .........if.predicate(node):....
183a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 61 63 74 69 6f 6e 20 3d 3d 20 27 73 .................if.action.==.'s
183c0 6b 69 70 27 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 kip':.........................if
183e0 20 64 65 62 75 67 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .debug:.........................
18400 20 20 20 20 70 72 69 6e 74 28 27 25 73 3a 25 64 20 25 73 3a 20 25 73 27 20 25 0a 20 20 20 20 20 ....print('%s:%d.%s:.%s'.%......
18420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 .............................(se
18440 6c 66 2e 66 69 6c 65 6e 61 6d 65 2c 20 6e 6f 64 65 2e 6c 69 6e 65 6e 6f 2c 0a 20 20 20 20 20 20 lf.filename,.node.lineno,.......
18460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 ............................self
18480 2e 6c 69 6e 65 73 5b 6e 6f 64 65 2e 6c 69 6e 65 6e 6f 20 2d 20 31 5d 5b 3a 2d 31 5d 2c 0a 20 20 .lines[node.lineno.-.1][:-1],...
184a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
184c0 22 50 61 73 73 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 "Pass"))........................
184e0 20 72 65 74 75 72 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 69 66 .return.....................elif
18500 20 61 63 74 69 6f 6e 20 3d 3d 20 27 65 72 72 6f 72 27 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 .action.==.'error':.............
18520 20 20 20 20 20 20 20 20 20 20 20 20 70 72 69 6e 74 28 27 25 73 3a 25 64 20 25 73 3a 20 25 73 20 ............print('%s:%d.%s:.%s.
18540 45 72 72 6f 72 3a 20 25 73 27 20 25 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 Error:.%s'.%....................
18560 20 20 20 20 20 20 20 20 20 20 20 28 73 65 6c 66 2e 66 69 6c 65 6e 61 6d 65 2c 20 6e 6f 64 65 2e ...........(self.filename,.node.
18580 6c 69 6e 65 6e 6f 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 lineno,.........................
185a0 20 20 20 20 20 20 20 73 65 6c 66 2e 6c 69 6e 65 73 5b 6e 6f 64 65 2e 6c 69 6e 65 6e 6f 20 2d 20 .......self.lines[node.lineno.-.
185c0 31 5d 5b 3a 2d 31 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 1][:-1],........................
185e0 20 20 20 20 20 20 20 20 70 72 65 64 69 63 61 74 65 2e 5f 5f 6e 61 6d 65 5f 5f 2c 20 6d 73 67 29 ........predicate.__name__,.msg)
18600 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ,...............................
18620 20 66 69 6c 65 3d 73 79 73 2e 73 74 64 65 72 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .file=sys.stderr)...............
18640 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 65 72 72 6f 72 20 3d 20 31 0a 20 20 20 20 20 20 20 ..........self.error.=.1........
18660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 0a 20 20 20 20 20 20 20 20 .................return.........
18680 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 69 66 20 61 63 74 69 6f 6e 20 3d 3d 20 27 77 61 72 6e ............elif.action.==.'warn
186a0 27 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 72 69 6e 74 ':.........................print
186c0 28 27 25 73 3a 25 64 20 25 73 3a 20 25 73 27 20 25 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ('%s:%d.%s:.%s'.%...............
186e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 6c 66 2e 66 69 6c 65 6e 61 6d 65 2c 20 ................(self.filename,.
18700 6e 6f 64 65 2e 6c 69 6e 65 6e 6f 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 node.lineno,....................
18720 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 6c 69 6e 65 73 5b 6e 6f 64 65 2e 6c 69 6e 65 6e ...........self.lines[node.linen
18740 6f 20 2d 20 31 5d 5b 3a 2d 31 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 o.-.1][:-1],....................
18760 20 20 20 20 20 20 20 20 20 20 20 22 57 61 72 6e 3a 20 25 73 22 20 25 20 6d 73 67 29 29 0a 20 20 ..........."Warn:.%s".%.msg))...
18780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 0a 20 20 20 ......................return....
187a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 72 69 6e 74 28 27 50 72 65 64 69 63 61 74 .................print('Predicat
187c0 65 20 77 69 74 68 20 77 72 6f 6e 67 20 61 63 74 69 6f 6e 21 27 2c 20 66 69 6c 65 3d 73 79 73 2e e.with.wrong.action!',.file=sys.
187e0 73 74 64 65 72 72 29 0a 0a 0a 64 65 66 20 69 73 5f 66 69 6c 65 5f 69 6e 5f 62 6c 61 63 6b 5f 6c stderr)...def.is_file_in_black_l
18800 69 73 74 28 62 6c 61 63 6b 5f 6c 69 73 74 2c 20 66 29 3a 0a 20 20 20 20 66 6f 72 20 66 20 69 6e ist(black_list,.f):.....for.f.in
18820 20 62 6c 61 63 6b 5f 6c 69 73 74 3a 0a 20 20 20 20 20 20 20 20 69 66 20 6f 73 2e 70 61 74 68 2e .black_list:.........if.os.path.
18840 61 62 73 70 61 74 68 28 69 6e 70 75 74 5f 66 69 6c 65 29 2e 73 74 61 72 74 73 77 69 74 68 28 0a abspath(input_file).startswith(.
18860 20 20 20 20 20 20 20 20 20 20 20 20 6f 73 2e 70 61 74 68 2e 61 62 73 70 61 74 68 28 66 29 29 3a ............os.path.abspath(f)):
18880 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 54 72 75 65 0a 20 20 20 20 72 65 74 .............return.True.....ret
188a0 75 72 6e 20 46 61 6c 73 65 0a 0a 0a 64 65 66 20 63 68 65 63 6b 5f 69 31 38 6e 28 69 6e 70 75 74 urn.False...def.check_i18n(input
188c0 5f 66 69 6c 65 2c 20 69 31 38 6e 5f 6d 73 67 5f 70 72 65 64 69 63 61 74 65 73 2c 20 6d 73 67 5f _file,.i18n_msg_predicates,.msg_
188e0 66 6f 72 6d 61 74 5f 63 68 65 63 6b 65 72 73 2c 20 64 65 62 75 67 29 3a 0a 20 20 20 20 69 6e 70 format_checkers,.debug):.....inp
18900 75 74 5f 6d 6f 64 20 3d 20 63 6f 6d 70 69 6c 65 72 2e 70 61 72 73 65 46 69 6c 65 28 69 6e 70 75 ut_mod.=.compiler.parseFile(inpu
18920 74 5f 66 69 6c 65 29 0a 20 20 20 20 76 20 3d 20 63 6f 6d 70 69 6c 65 72 2e 76 69 73 69 74 6f 72 t_file).....v.=.compiler.visitor
18940 2e 77 61 6c 6b 28 69 6e 70 75 74 5f 6d 6f 64 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .walk(input_mod,................
18960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 56 69 73 69 74 6f 72 28 69 6e 70 75 74 5f 66 69 6c ...............Visitor(input_fil
18980 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e,..............................
189a0 20 20 20 20 20 20 20 20 20 69 31 38 6e 5f 6d 73 67 5f 70 72 65 64 69 63 61 74 65 73 2c 0a 20 20 .........i18n_msg_predicates,...
189c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
189e0 20 20 20 20 6d 73 67 5f 66 6f 72 6d 61 74 5f 63 68 65 63 6b 65 72 73 2c 0a 20 20 20 20 20 20 20 ....msg_format_checkers,........
18a00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 ...............................d
18a20 65 62 75 67 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ebug),..........................
18a40 20 20 20 20 20 41 53 54 57 61 6c 6b 65 72 28 29 29 0a 20 20 20 20 72 65 74 75 72 6e 20 76 2e 65 .....ASTWalker()).....return.v.e
18a60 72 72 6f 72 0a 0a 0a 69 66 20 5f 5f 6e 61 6d 65 5f 5f 20 3d 3d 20 27 5f 5f 6d 61 69 6e 5f 5f 27 rror...if.__name__.==.'__main__'
18a80 3a 0a 20 20 20 20 69 6e 70 75 74 5f 70 61 74 68 20 3d 20 73 79 73 2e 61 72 67 76 5b 31 5d 0a 20 :.....input_path.=.sys.argv[1]..
18aa0 20 20 20 63 66 67 5f 70 61 74 68 20 3d 20 73 79 73 2e 61 72 67 76 5b 32 5d 0a 20 20 20 20 74 72 ...cfg_path.=.sys.argv[2].....tr
18ac0 79 3a 0a 20 20 20 20 20 20 20 20 63 66 67 5f 6d 6f 64 20 3d 20 69 6d 70 2e 6c 6f 61 64 5f 73 6f y:.........cfg_mod.=.imp.load_so
18ae0 75 72 63 65 28 27 27 2c 20 63 66 67 5f 70 61 74 68 29 0a 20 20 20 20 65 78 63 65 70 74 20 45 78 urce('',.cfg_path).....except.Ex
18b00 63 65 70 74 69 6f 6e 3a 0a 20 20 20 20 20 20 20 20 70 72 69 6e 74 28 22 4c 6f 61 64 20 63 66 67 ception:.........print("Load.cfg
18b20 20 6d 6f 64 75 6c 65 20 66 61 69 6c 65 64 22 2c 20 66 69 6c 65 3d 73 79 73 2e 73 74 64 65 72 72 .module.failed",.file=sys.stderr
18b40 29 0a 20 20 20 20 20 20 20 20 73 79 73 2e 65 78 69 74 28 31 29 0a 0a 20 20 20 20 69 31 38 6e 5f ).........sys.exit(1)......i18n_
18b60 6d 73 67 5f 70 72 65 64 69 63 61 74 65 73 20 3d 20 63 66 67 5f 6d 6f 64 2e 69 31 38 6e 5f 6d 73 msg_predicates.=.cfg_mod.i18n_ms
18b80 67 5f 70 72 65 64 69 63 61 74 65 73 0a 20 20 20 20 6d 73 67 5f 66 6f 72 6d 61 74 5f 63 68 65 63 g_predicates.....msg_format_chec
18ba0 6b 65 72 73 20 3d 20 63 66 67 5f 6d 6f 64 2e 6d 73 67 5f 66 6f 72 6d 61 74 5f 63 68 65 63 6b 65 kers.=.cfg_mod.msg_format_checke
18bc0 72 73 0a 20 20 20 20 62 6c 61 63 6b 5f 6c 69 73 74 20 3d 20 63 66 67 5f 6d 6f 64 2e 66 69 6c 65 rs.....black_list.=.cfg_mod.file
18be0 5f 62 6c 61 63 6b 5f 6c 69 73 74 0a 0a 20 20 20 20 64 65 62 75 67 20 3d 20 46 61 6c 73 65 0a 20 _black_list......debug.=.False..
18c00 20 20 20 69 66 20 6c 65 6e 28 73 79 73 2e 61 72 67 76 29 20 3e 20 33 3a 0a 20 20 20 20 20 20 20 ...if.len(sys.argv).>.3:........
18c20 20 69 66 20 73 79 73 2e 61 72 67 76 5b 33 5d 20 3d 3d 20 27 2d 64 27 3a 0a 20 20 20 20 20 20 20 .if.sys.argv[3].==.'-d':........
18c40 20 20 20 20 20 64 65 62 75 67 20 3d 20 54 72 75 65 0a 0a 20 20 20 20 69 66 20 6f 73 2e 70 61 74 .....debug.=.True......if.os.pat
18c60 68 2e 69 73 66 69 6c 65 28 69 6e 70 75 74 5f 70 61 74 68 29 3a 0a 20 20 20 20 20 20 20 20 73 79 h.isfile(input_path):.........sy
18c80 73 2e 65 78 69 74 28 63 68 65 63 6b 5f 69 31 38 6e 28 69 6e 70 75 74 5f 70 61 74 68 2c 0a 20 20 s.exit(check_i18n(input_path,...
18ca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 31 38 6e 5f 6d ..........................i18n_m
18cc0 73 67 5f 70 72 65 64 69 63 61 74 65 73 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 sg_predicates,..................
18ce0 20 20 20 20 20 20 20 20 20 20 20 6d 73 67 5f 66 6f 72 6d 61 74 5f 63 68 65 63 6b 65 72 73 2c 0a ...........msg_format_checkers,.
18d00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 65 62 75 ............................debu
18d20 67 29 29 0a 0a 20 20 20 20 65 72 72 6f 72 20 3d 20 30 0a 20 20 20 20 66 6f 72 20 64 69 72 70 61 g))......error.=.0.....for.dirpa
18d40 74 68 2c 20 64 69 72 73 2c 20 66 69 6c 65 73 20 69 6e 20 6f 73 2e 77 61 6c 6b 28 69 6e 70 75 74 th,.dirs,.files.in.os.walk(input
18d60 5f 70 61 74 68 29 3a 0a 20 20 20 20 20 20 20 20 66 6f 72 20 66 20 69 6e 20 66 69 6c 65 73 3a 0a _path):.........for.f.in.files:.
18d80 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 6e 6f 74 20 66 2e 65 6e 64 73 77 69 74 68 28 27 2e ............if.not.f.endswith('.
18da0 70 79 27 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 74 69 6e 75 65 0a 20 py'):.................continue..
18dc0 20 20 20 20 20 20 20 20 20 20 20 69 6e 70 75 74 5f 66 69 6c 65 20 3d 20 6f 73 2e 70 61 74 68 2e ...........input_file.=.os.path.
18de0 6a 6f 69 6e 28 64 69 72 70 61 74 68 2c 20 66 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 join(dirpath,.f).............if.
18e00 69 73 5f 66 69 6c 65 5f 69 6e 5f 62 6c 61 63 6b 5f 6c 69 73 74 28 62 6c 61 63 6b 5f 6c 69 73 74 is_file_in_black_list(black_list
18e20 2c 20 69 6e 70 75 74 5f 66 69 6c 65 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 ,.input_file):.................c
18e40 6f 6e 74 69 6e 75 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 63 68 65 63 6b 5f 69 31 38 ontinue.............if.check_i18
18e60 6e 28 69 6e 70 75 74 5f 66 69 6c 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 n(input_file,...................
18e80 20 20 20 20 20 20 20 20 69 31 38 6e 5f 6d 73 67 5f 70 72 65 64 69 63 61 74 65 73 2c 0a 20 20 20 ........i18n_msg_predicates,....
18ea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 73 67 5f 66 6f 72 6d 61 .......................msg_forma
18ec0 74 5f 63 68 65 63 6b 65 72 73 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t_checkers,.....................
18ee0 20 20 20 20 20 20 64 65 62 75 67 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 72 ......debug):.................er
18f00 72 6f 72 20 3d 20 31 0a 20 20 20 20 73 79 73 2e 65 78 69 74 28 65 72 72 6f 72 29 0a 00 00 00 00 ror.=.1.....sys.exit(error).....
18f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19000 6e 65 74 77 6f 72 6b 69 6e 67 2d 6f 6e 6f 73 2f 74 6f 6f 6c 73 2f 63 68 65 63 6b 5f 69 31 38 6e networking-onos/tools/check_i18n
19020 5f 74 65 73 74 5f 63 61 73 65 2e 74 78 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 _test_case.txt..................
19040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19060 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000644.0001750.0001750.0000
19080 30 30 30 32 36 34 35 00 31 32 36 32 37 35 31 33 34 34 32 00 30 32 30 36 32 33 00 20 30 00 00 00 0002645.12627513442.020623..0...
190a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
190c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
190e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19100 00 75 73 74 61 72 20 20 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...onos...................
19120 00 00 00 00 00 00 00 00 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........onos...................
19140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
191a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
191c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
191e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19200 23 20 74 65 73 74 2d 63 61 73 65 20 66 6f 72 20 63 68 65 63 6b 5f 69 31 38 6e 2e 70 79 0a 23 20 #.test-case.for.check_i18n.py.#.
19220 70 79 74 68 6f 6e 20 63 68 65 63 6b 5f 69 31 38 6e 2e 70 79 20 63 68 65 63 6b 5f 69 31 38 6e 2e python.check_i18n.py.check_i18n.
19240 74 78 74 20 2d 64 0a 0a 23 20 6d 65 73 73 61 67 65 20 66 6f 72 6d 61 74 20 63 68 65 63 6b 69 6e txt.-d..#.message.format.checkin
19260 67 0a 23 20 20 63 61 70 69 74 61 6c 20 63 68 65 63 6b 69 6e 67 0a 6d 73 67 20 3d 20 5f 28 22 68 g.#..capital.checking.msg.=._("h
19280 65 6c 6c 6f 20 77 6f 72 6c 64 2c 20 65 72 72 6f 72 22 29 0a 6d 73 67 20 3d 20 5f 28 22 68 65 6c ello.world,.error").msg.=._("hel
192a0 6c 6f 20 77 6f 72 6c 64 5f 76 61 72 2c 20 65 72 72 6f 72 22 29 0a 6d 73 67 20 3d 20 5f 28 27 66 lo.world_var,.error").msg.=._('f
192c0 69 6c 65 5f 6c 69 73 74 20 78 79 7a 2c 20 70 61 73 73 27 29 0a 6d 73 67 20 3d 20 5f 28 22 48 65 ile_list.xyz,.pass').msg.=._("He
192e0 6c 6c 6f 20 77 6f 72 6c 64 2c 20 70 61 73 73 22 29 0a 0a 23 20 20 66 6f 72 6d 61 74 20 73 70 65 llo.world,.pass")..#..format.spe
19300 63 69 66 69 65 72 20 63 68 65 63 6b 69 6e 67 0a 6d 73 67 20 3d 20 5f 28 22 48 65 6c 6c 6f 20 25 cifier.checking.msg.=._("Hello.%
19320 73 20 77 6f 72 6c 64 20 25 64 2c 20 65 72 72 6f 72 22 29 0a 6d 73 67 20 3d 20 5f 28 22 48 65 6c s.world.%d,.error").msg.=._("Hel
19340 6c 6f 20 25 73 20 77 6f 72 6c 64 2c 20 70 61 73 73 22 29 0a 6d 73 67 20 3d 20 5f 28 22 48 65 6c lo.%s.world,.pass").msg.=._("Hel
19360 6c 6f 20 25 28 76 61 72 31 29 73 20 77 6f 72 6c 64 20 25 28 76 61 72 32 29 73 2c 20 70 61 73 73 lo.%(var1)s.world.%(var2)s,.pass
19380 22 29 0a 0a 23 20 6d 65 73 73 61 67 65 20 68 61 73 20 62 65 65 6e 20 6c 6f 63 61 6c 69 7a 65 64 ")..#.message.has.been.localized
193a0 0a 23 20 20 69 73 5f 6c 6f 63 61 6c 69 7a 65 64 0a 6d 73 67 20 3d 20 5f 28 22 48 65 6c 6c 6f 20 .#..is_localized.msg.=._("Hello.
193c0 77 6f 72 6c 64 2c 20 70 61 73 73 22 29 0a 6d 73 67 20 3d 20 5f 28 22 48 65 6c 6c 6f 20 77 6f 72 world,.pass").msg.=._("Hello.wor
193e0 6c 64 2c 20 70 61 73 73 22 29 20 25 20 76 61 72 0a 4c 4f 47 2e 64 65 62 75 67 28 5f 28 27 48 65 ld,.pass").%.var.LOG.debug(_('He
19400 6c 6c 6f 20 77 6f 72 6c 64 2c 20 70 61 73 73 27 29 29 0a 4c 4f 47 2e 69 6e 66 6f 28 5f 28 27 48 llo.world,.pass')).LOG.info(_('H
19420 65 6c 6c 6f 20 77 6f 72 6c 64 2c 20 70 61 73 73 27 29 29 0a 72 61 69 73 65 20 78 2e 79 2e 45 78 ello.world,.pass')).raise.x.y.Ex
19440 63 65 70 74 69 6f 6e 28 5f 28 27 48 65 6c 6c 6f 20 77 6f 72 6c 64 2c 20 70 61 73 73 27 29 29 0a ception(_('Hello.world,.pass')).
19460 72 61 69 73 65 20 45 78 63 65 70 74 69 6f 6e 28 5f 28 27 48 65 6c 6c 6f 20 77 6f 72 6c 64 2c 20 raise.Exception(_('Hello.world,.
19480 70 61 73 73 27 29 29 0a 0a 23 20 6d 65 73 73 61 67 65 20 6e 65 65 64 20 62 65 20 6c 6f 63 61 6c pass'))..#.message.need.be.local
194a0 69 7a 65 64 0a 23 20 20 69 73 5f 6c 6f 67 5f 63 61 6c 6c 66 75 6e 63 0a 4c 4f 47 2e 64 65 62 75 ized.#..is_log_callfunc.LOG.debu
194c0 67 28 27 68 65 6c 6c 6f 20 77 6f 72 6c 64 2c 20 65 72 72 6f 72 27 29 0a 4c 4f 47 2e 64 65 62 75 g('hello.world,.error').LOG.debu
194e0 67 28 27 68 65 6c 6c 6f 20 77 6f 72 6c 64 2c 20 65 72 72 6f 72 27 20 25 20 78 79 7a 29 0a 73 79 g('hello.world,.error'.%.xyz).sy
19500 73 2e 61 70 70 65 6e 64 28 27 68 65 6c 6c 6f 20 77 6f 72 6c 64 2c 20 77 61 72 6e 27 29 0a 0a 23 s.append('hello.world,.warn')..#
19520 20 69 73 5f 6c 6f 67 5f 69 31 38 6e 5f 6d 73 67 5f 77 69 74 68 5f 6d 6f 64 0a 4c 4f 47 2e 64 65 .is_log_i18n_msg_with_mod.LOG.de
19540 62 75 67 28 5f 28 27 48 65 6c 6c 6f 20 77 6f 72 6c 64 2c 20 65 72 72 6f 72 27 29 20 25 20 78 79 bug(_('Hello.world,.error').%.xy
19560 7a 29 0a 0a 23 20 64 65 66 61 75 6c 74 20 77 61 72 6e 0a 6d 73 67 20 3d 20 27 68 65 6c 6c 6f 20 z)..#.default.warn.msg.=.'hello.
19580 77 6f 72 6c 64 2c 20 77 61 72 6e 27 0a 6d 73 67 20 3d 20 27 68 65 6c 6c 6f 20 77 6f 72 6c 64 2c world,.warn'.msg.=.'hello.world,
195a0 20 77 61 72 6e 27 20 25 20 76 61 72 0a 0a 23 20 6d 65 73 73 61 67 65 20 6e 65 65 64 6e 27 74 20 .warn'.%.var..#.message.needn't.
195c0 62 65 20 6c 6f 63 61 6c 69 7a 65 64 0a 23 20 20 73 6b 69 70 20 6f 6e 6c 79 20 6f 6e 65 20 77 6f be.localized.#..skip.only.one.wo
195e0 72 64 0a 6d 73 67 20 3d 20 27 27 0a 6d 73 67 20 3d 20 22 68 65 6c 6c 6f 2c 70 61 73 73 22 0a 0a rd.msg.=.''.msg.=."hello,pass"..
19600 23 20 20 73 6b 69 70 20 64 69 63 74 0a 6d 73 67 20 3d 20 7b 27 68 65 6c 6c 6f 20 77 6f 72 6c 64 #..skip.dict.msg.=.{'hello.world
19620 2c 20 70 61 73 73 27 3a 20 31 7d 0a 0a 23 20 20 73 6b 69 70 20 6c 69 73 74 0a 6d 73 67 20 3d 20 ,.pass':.1}..#..skip.list.msg.=.
19640 5b 22 68 65 6c 6c 6f 20 77 6f 72 6c 64 2c 20 70 61 73 73 22 5d 0a 0a 23 20 20 73 6b 69 70 20 73 ["hello.world,.pass"]..#..skip.s
19660 75 62 73 63 72 69 70 74 0a 6d 73 67 5b 27 68 65 6c 6c 6f 20 77 6f 72 6c 64 2c 20 70 61 73 73 27 ubscript.msg['hello.world,.pass'
19680 5d 0a 0a 23 20 20 73 6b 69 70 20 78 6d 6c 20 6d 61 72 6b 65 72 0a 6d 73 67 20 3d 20 22 3c 74 65 ]..#..skip.xml.marker.msg.=."<te
196a0 73 74 3e 3c 74 3e 3c 2f 74 3e 3c 2f 74 65 73 74 3e 2c 20 70 61 73 73 22 0a 0a 23 20 20 73 6b 69 st><t></t></test>,.pass"..#..ski
196c0 70 20 73 71 6c 20 73 74 61 74 65 6d 65 6e 74 0a 6d 73 67 20 3d 20 22 53 45 4c 45 43 54 20 2a 20 p.sql.statement.msg.=."SELECT.*.
196e0 46 52 4f 4d 20 78 79 7a 20 57 48 45 52 45 20 68 65 6c 6c 6f 3d 31 2c 20 70 61 73 73 22 0a 6d 73 FROM.xyz.WHERE.hello=1,.pass".ms
19700 67 20 3d 20 22 73 65 6c 65 63 74 20 2a 20 66 72 6f 6d 20 78 79 7a 2c 20 70 61 73 73 22 0a 0a 23 g.=."select.*.from.xyz,.pass"..#
19720 20 20 73 6b 69 70 20 61 64 64 20 73 74 61 74 65 6d 65 6e 74 0a 6d 73 67 20 3d 20 27 68 65 6c 6c ..skip.add.statement.msg.=.'hell
19740 6f 20 77 6f 72 6c 64 27 20 2b 20 65 20 2b 20 27 77 6f 72 6c 64 20 68 65 6c 6c 6f 2c 20 70 61 73 o.world'.+.e.+.'world.hello,.pas
19760 73 27 0a 0a 23 20 20 73 6b 69 70 20 64 6f 63 20 73 74 72 69 6e 67 0a 22 22 22 0a 48 65 6c 6c 6f s'..#..skip.doc.string.""".Hello
19780 20 77 6f 72 6c 64 2c 20 70 61 73 73 0a 22 22 22 0a 63 6c 61 73 73 20 4d 73 67 3a 0a 20 20 20 20 .world,.pass.""".class.Msg:.....
197a0 70 61 73 73 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 pass............................
197c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
197e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19800 6e 65 74 77 6f 72 6b 69 6e 67 2d 6f 6e 6f 73 2f 74 6f 6f 6c 73 2f 69 6e 73 74 61 6c 6c 5f 76 65 networking-onos/tools/install_ve
19820 6e 76 2e 70 79 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 nv.py...........................
19840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19860 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000644.0001750.0001750.0000
19880 30 30 30 34 34 30 30 00 31 32 36 32 37 35 31 33 34 34 32 00 30 31 37 31 36 31 00 20 30 00 00 00 0004400.12627513442.017161..0...
198a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
198c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
198e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19900 00 75 73 74 61 72 20 20 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...onos...................
19920 00 00 00 00 00 00 00 00 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........onos...................
19940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
199a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
199c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
199e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19a00 23 21 2f 75 73 72 2f 62 69 6e 2f 65 6e 76 20 70 79 74 68 6f 6e 0a 23 20 43 6f 70 79 72 69 67 68 #!/usr/bin/env.python.#.Copyrigh
19a20 74 20 32 30 31 30 20 55 6e 69 74 65 64 20 53 74 61 74 65 73 20 47 6f 76 65 72 6e 6d 65 6e 74 20 t.2010.United.States.Government.
19a40 61 73 20 72 65 70 72 65 73 65 6e 74 65 64 20 62 79 20 74 68 65 0a 23 20 41 64 6d 69 6e 69 73 74 as.represented.by.the.#.Administ
19a60 72 61 74 6f 72 20 6f 66 20 74 68 65 20 4e 61 74 69 6f 6e 61 6c 20 41 65 72 6f 6e 61 75 74 69 63 rator.of.the.National.Aeronautic
19a80 73 20 61 6e 64 20 53 70 61 63 65 20 41 64 6d 69 6e 69 73 74 72 61 74 69 6f 6e 2e 0a 23 20 41 6c s.and.Space.Administration..#.Al
19aa0 6c 20 52 69 67 68 74 73 20 52 65 73 65 72 76 65 64 2e 0a 23 0a 23 20 43 6f 70 79 72 69 67 68 74 l.Rights.Reserved..#.#.Copyright
19ac0 20 32 30 31 30 20 4f 70 65 6e 53 74 61 63 6b 20 46 6f 75 6e 64 61 74 69 6f 6e 2e 0a 23 20 43 6f .2010.OpenStack.Foundation..#.Co
19ae0 70 79 72 69 67 68 74 20 32 30 31 33 20 49 42 4d 20 43 6f 72 70 2e 0a 23 0a 23 20 20 20 20 4c 69 pyright.2013.IBM.Corp..#.#....Li
19b00 63 65 6e 73 65 64 20 75 6e 64 65 72 20 74 68 65 20 41 70 61 63 68 65 20 4c 69 63 65 6e 73 65 2c censed.under.the.Apache.License,
19b20 20 56 65 72 73 69 6f 6e 20 32 2e 30 20 28 74 68 65 20 22 4c 69 63 65 6e 73 65 22 29 3b 20 79 6f .Version.2.0.(the."License");.yo
19b40 75 20 6d 61 79 0a 23 20 20 20 20 6e 6f 74 20 75 73 65 20 74 68 69 73 20 66 69 6c 65 20 65 78 63 u.may.#....not.use.this.file.exc
19b60 65 70 74 20 69 6e 20 63 6f 6d 70 6c 69 61 6e 63 65 20 77 69 74 68 20 74 68 65 20 4c 69 63 65 6e ept.in.compliance.with.the.Licen
19b80 73 65 2e 20 59 6f 75 20 6d 61 79 20 6f 62 74 61 69 6e 0a 23 20 20 20 20 61 20 63 6f 70 79 20 6f se..You.may.obtain.#....a.copy.o
19ba0 66 20 74 68 65 20 4c 69 63 65 6e 73 65 20 61 74 0a 23 0a 23 20 20 20 20 20 20 20 20 20 68 74 74 f.the.License.at.#.#.........htt
19bc0 70 3a 2f 2f 77 77 77 2e 61 70 61 63 68 65 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 4c 49 43 45 p://www.apache.org/licenses/LICE
19be0 4e 53 45 2d 32 2e 30 0a 23 0a 23 20 20 20 20 55 6e 6c 65 73 73 20 72 65 71 75 69 72 65 64 20 62 NSE-2.0.#.#....Unless.required.b
19c00 79 20 61 70 70 6c 69 63 61 62 6c 65 20 6c 61 77 20 6f 72 20 61 67 72 65 65 64 20 74 6f 20 69 6e y.applicable.law.or.agreed.to.in
19c20 20 77 72 69 74 69 6e 67 2c 20 73 6f 66 74 77 61 72 65 0a 23 20 20 20 20 64 69 73 74 72 69 62 75 .writing,.software.#....distribu
19c40 74 65 64 20 75 6e 64 65 72 20 74 68 65 20 4c 69 63 65 6e 73 65 20 69 73 20 64 69 73 74 72 69 62 ted.under.the.License.is.distrib
19c60 75 74 65 64 20 6f 6e 20 61 6e 20 22 41 53 20 49 53 22 20 42 41 53 49 53 2c 20 57 49 54 48 4f 55 uted.on.an."AS.IS".BASIS,.WITHOU
19c80 54 0a 23 20 20 20 20 57 41 52 52 41 4e 54 49 45 53 20 4f 52 20 43 4f 4e 44 49 54 49 4f 4e 53 20 T.#....WARRANTIES.OR.CONDITIONS.
19ca0 4f 46 20 41 4e 59 20 4b 49 4e 44 2c 20 65 69 74 68 65 72 20 65 78 70 72 65 73 73 20 6f 72 20 69 OF.ANY.KIND,.either.express.or.i
19cc0 6d 70 6c 69 65 64 2e 20 53 65 65 20 74 68 65 0a 23 20 20 20 20 4c 69 63 65 6e 73 65 20 66 6f 72 mplied..See.the.#....License.for
19ce0 20 74 68 65 20 73 70 65 63 69 66 69 63 20 6c 61 6e 67 75 61 67 65 20 67 6f 76 65 72 6e 69 6e 67 .the.specific.language.governing
19d00 20 70 65 72 6d 69 73 73 69 6f 6e 73 20 61 6e 64 20 6c 69 6d 69 74 61 74 69 6f 6e 73 0a 23 20 20 .permissions.and.limitations.#..
19d20 20 20 75 6e 64 65 72 20 74 68 65 20 4c 69 63 65 6e 73 65 2e 0a 0a 22 22 22 0a 49 6e 73 74 61 6c ..under.the.License...""".Instal
19d40 6c 61 74 69 6f 6e 20 73 63 72 69 70 74 20 66 6f 72 20 4e 65 75 74 72 6f 6e 27 73 20 64 65 76 65 lation.script.for.Neutron's.deve
19d60 6c 6f 70 6d 65 6e 74 20 76 69 72 74 75 61 6c 65 6e 76 0a 22 22 22 0a 66 72 6f 6d 20 5f 5f 66 75 lopment.virtualenv.""".from.__fu
19d80 74 75 72 65 5f 5f 20 69 6d 70 6f 72 74 20 70 72 69 6e 74 5f 66 75 6e 63 74 69 6f 6e 0a 0a 69 6d ture__.import.print_function..im
19da0 70 6f 72 74 20 6f 73 0a 69 6d 70 6f 72 74 20 73 79 73 0a 0a 69 6d 70 6f 72 74 20 69 6e 73 74 61 port.os.import.sys..import.insta
19dc0 6c 6c 5f 76 65 6e 76 5f 63 6f 6d 6d 6f 6e 20 61 73 20 69 6e 73 74 61 6c 6c 5f 76 65 6e 76 0a 0a ll_venv_common.as.install_venv..
19de0 0a 64 65 66 20 70 72 69 6e 74 5f 68 65 6c 70 28 29 3a 0a 20 20 20 20 68 65 6c 70 20 3d 20 22 22 .def.print_help():.....help.=.""
19e00 22 0a 20 4e 65 75 74 72 6f 6e 20 64 65 76 65 6c 6f 70 6d 65 6e 74 20 65 6e 76 69 72 6f 6e 6d 65 "..Neutron.development.environme
19e20 6e 74 20 73 65 74 75 70 20 69 73 20 63 6f 6d 70 6c 65 74 65 2e 0a 0a 20 4e 65 75 74 72 6f 6e 20 nt.setup.is.complete....Neutron.
19e40 64 65 76 65 6c 6f 70 6d 65 6e 74 20 75 73 65 73 20 76 69 72 74 75 61 6c 65 6e 76 20 74 6f 20 74 development.uses.virtualenv.to.t
19e60 72 61 63 6b 20 61 6e 64 20 6d 61 6e 61 67 65 20 50 79 74 68 6f 6e 20 64 65 70 65 6e 64 65 6e 63 rack.and.manage.Python.dependenc
19e80 69 65 73 0a 20 77 68 69 6c 65 20 69 6e 20 64 65 76 65 6c 6f 70 6d 65 6e 74 20 61 6e 64 20 74 65 ies..while.in.development.and.te
19ea0 73 74 69 6e 67 2e 0a 0a 20 54 6f 20 61 63 74 69 76 61 74 65 20 74 68 65 20 4e 65 75 74 72 6f 6e sting....To.activate.the.Neutron
19ec0 20 76 69 72 74 75 61 6c 65 6e 76 20 66 6f 72 20 74 68 65 20 65 78 74 65 6e 74 20 6f 66 20 79 6f .virtualenv.for.the.extent.of.yo
19ee0 75 72 20 63 75 72 72 65 6e 74 20 73 68 65 6c 6c 0a 20 73 65 73 73 69 6f 6e 20 79 6f 75 20 63 61 ur.current.shell..session.you.ca
19f00 6e 20 72 75 6e 3a 0a 0a 20 24 20 73 6f 75 72 63 65 20 2e 76 65 6e 76 2f 62 69 6e 2f 61 63 74 69 n.run:...$.source..venv/bin/acti
19f20 76 61 74 65 0a 0a 20 4f 72 2c 20 69 66 20 79 6f 75 20 70 72 65 66 65 72 2c 20 79 6f 75 20 63 61 vate...Or,.if.you.prefer,.you.ca
19f40 6e 20 72 75 6e 20 63 6f 6d 6d 61 6e 64 73 20 69 6e 20 74 68 65 20 76 69 72 74 75 61 6c 65 6e 76 n.run.commands.in.the.virtualenv
19f60 20 6f 6e 20 61 20 63 61 73 65 20 62 79 20 63 61 73 65 0a 20 62 61 73 69 73 20 62 79 20 72 75 6e .on.a.case.by.case..basis.by.run
19f80 6e 69 6e 67 3a 0a 0a 20 24 20 74 6f 6f 6c 73 2f 77 69 74 68 5f 76 65 6e 76 2e 73 68 20 3c 79 6f ning:...$.tools/with_venv.sh.<yo
19fa0 75 72 20 63 6f 6d 6d 61 6e 64 3e 0a 0a 20 41 6c 73 6f 2c 20 6d 61 6b 65 20 74 65 73 74 20 77 69 ur.command>...Also,.make.test.wi
19fc0 6c 6c 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 75 73 65 20 74 68 65 20 76 69 72 74 75 61 6c ll.automatically.use.the.virtual
19fe0 65 6e 76 2e 0a 20 20 20 20 22 22 22 0a 20 20 20 20 70 72 69 6e 74 28 68 65 6c 70 29 0a 0a 0a 64 env......""".....print(help)...d
1a000 65 66 20 6d 61 69 6e 28 61 72 67 76 29 3a 0a 20 20 20 20 72 6f 6f 74 20 3d 20 6f 73 2e 70 61 74 ef.main(argv):.....root.=.os.pat
1a020 68 2e 64 69 72 6e 61 6d 65 28 6f 73 2e 70 61 74 68 2e 64 69 72 6e 61 6d 65 28 6f 73 2e 70 61 74 h.dirname(os.path.dirname(os.pat
1a040 68 2e 72 65 61 6c 70 61 74 68 28 5f 5f 66 69 6c 65 5f 5f 29 29 29 0a 20 20 20 20 76 65 6e 76 20 h.realpath(__file__))).....venv.
1a060 3d 20 6f 73 2e 70 61 74 68 2e 6a 6f 69 6e 28 72 6f 6f 74 2c 20 27 2e 76 65 6e 76 27 29 0a 20 20 =.os.path.join(root,.'.venv')...
1a080 20 20 70 69 70 5f 72 65 71 75 69 72 65 73 20 3d 20 6f 73 2e 70 61 74 68 2e 6a 6f 69 6e 28 72 6f ..pip_requires.=.os.path.join(ro
1a0a0 6f 74 2c 20 27 72 65 71 75 69 72 65 6d 65 6e 74 73 2e 74 78 74 27 29 0a 20 20 20 20 74 65 73 74 ot,.'requirements.txt').....test
1a0c0 5f 72 65 71 75 69 72 65 73 20 3d 20 6f 73 2e 70 61 74 68 2e 6a 6f 69 6e 28 72 6f 6f 74 2c 20 27 _requires.=.os.path.join(root,.'
1a0e0 74 65 73 74 2d 72 65 71 75 69 72 65 6d 65 6e 74 73 2e 74 78 74 27 29 0a 20 20 20 20 70 79 5f 76 test-requirements.txt').....py_v
1a100 65 72 73 69 6f 6e 20 3d 20 22 70 79 74 68 6f 6e 25 73 2e 25 73 22 20 25 20 28 73 79 73 2e 76 65 ersion.=."python%s.%s".%.(sys.ve
1a120 72 73 69 6f 6e 5f 69 6e 66 6f 5b 30 5d 2c 20 73 79 73 2e 76 65 72 73 69 6f 6e 5f 69 6e 66 6f 5b rsion_info[0],.sys.version_info[
1a140 31 5d 29 0a 20 20 20 20 70 72 6f 6a 65 63 74 20 3d 20 27 4e 65 75 74 72 6f 6e 27 0a 20 20 20 20 1]).....project.=.'Neutron'.....
1a160 69 6e 73 74 61 6c 6c 20 3d 20 69 6e 73 74 61 6c 6c 5f 76 65 6e 76 2e 49 6e 73 74 61 6c 6c 56 65 install.=.install_venv.InstallVe
1a180 6e 76 28 72 6f 6f 74 2c 20 76 65 6e 76 2c 20 70 69 70 5f 72 65 71 75 69 72 65 73 2c 20 74 65 73 nv(root,.venv,.pip_requires,.tes
1a1a0 74 5f 72 65 71 75 69 72 65 73 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t_requires,.....................
1a1c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 79 5f 76 65 72 73 69 6f 6e 2c 20 70 ...................py_version,.p
1a1e0 72 6f 6a 65 63 74 29 0a 20 20 20 20 6f 70 74 69 6f 6e 73 20 3d 20 69 6e 73 74 61 6c 6c 2e 70 61 roject).....options.=.install.pa
1a200 72 73 65 5f 61 72 67 73 28 61 72 67 76 29 0a 20 20 20 20 69 6e 73 74 61 6c 6c 2e 63 68 65 63 6b rse_args(argv).....install.check
1a220 5f 70 79 74 68 6f 6e 5f 76 65 72 73 69 6f 6e 28 29 0a 20 20 20 20 69 6e 73 74 61 6c 6c 2e 63 68 _python_version().....install.ch
1a240 65 63 6b 5f 64 65 70 65 6e 64 65 6e 63 69 65 73 28 29 0a 20 20 20 20 69 6e 73 74 61 6c 6c 2e 63 eck_dependencies().....install.c
1a260 72 65 61 74 65 5f 76 69 72 74 75 61 6c 65 6e 76 28 6e 6f 5f 73 69 74 65 5f 70 61 63 6b 61 67 65 reate_virtualenv(no_site_package
1a280 73 3d 6f 70 74 69 6f 6e 73 2e 6e 6f 5f 73 69 74 65 5f 70 61 63 6b 61 67 65 73 29 0a 20 20 20 20 s=options.no_site_packages).....
1a2a0 69 6e 73 74 61 6c 6c 2e 69 6e 73 74 61 6c 6c 5f 64 65 70 65 6e 64 65 6e 63 69 65 73 28 29 0a 20 install.install_dependencies()..
1a2c0 20 20 20 70 72 69 6e 74 5f 68 65 6c 70 28 29 0a 0a 0a 69 66 20 5f 5f 6e 61 6d 65 5f 5f 20 3d 3d ...print_help()...if.__name__.==
1a2e0 20 27 5f 5f 6d 61 69 6e 5f 5f 27 3a 0a 20 20 20 20 6d 61 69 6e 28 73 79 73 2e 61 72 67 76 29 0a .'__main__':.....main(sys.argv).
1a300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a3a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a3c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a3e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a400 6e 65 74 77 6f 72 6b 69 6e 67 2d 6f 6e 6f 73 2f 74 6f 6f 6c 73 2f 63 6c 65 61 6e 2e 73 68 00 00 networking-onos/tools/clean.sh..
1a420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a460 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000644.0001750.0001750.0000
1a480 30 30 30 30 32 37 34 00 31 32 36 32 37 35 31 33 34 34 32 00 30 31 35 35 32 36 00 20 30 00 00 00 0000274.12627513442.015526..0...
1a4a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a4c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a4e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a500 00 75 73 74 61 72 20 20 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...onos...................
1a520 00 00 00 00 00 00 00 00 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........onos...................
1a540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a5a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a5c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a5e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a600 23 21 2f 62 69 6e 2f 62 61 73 68 0a 72 6d 20 2d 72 66 20 2e 2f 2a 2e 64 65 62 20 2e 2f 2a 2e 74 #!/bin/bash.rm.-rf../*.deb../*.t
1a620 61 72 2e 67 7a 20 2e 2f 2a 2e 64 73 63 20 2e 2f 2a 2e 63 68 61 6e 67 65 73 0a 72 6d 20 2d 72 66 ar.gz../*.dsc../*.changes.rm.-rf
1a640 20 2a 2f 2a 2e 64 65 62 0a 72 6d 20 2d 72 66 20 2e 2f 70 6c 75 67 69 6e 73 2f 2a 2a 2f 62 75 69 .*/*.deb.rm.-rf../plugins/**/bui
1a660 6c 64 2f 20 2e 2f 70 6c 75 67 69 6e 73 2f 2a 2a 2f 64 69 73 74 0a 72 6d 20 2d 72 66 20 2e 2f 70 ld/../plugins/**/dist.rm.-rf../p
1a680 6c 75 67 69 6e 73 2f 2a 2a 2f 6c 69 62 2f 6e 65 75 74 72 6f 6e 5f 2a 5f 70 6c 75 67 69 6e 2e 65 lugins/**/lib/neutron_*_plugin.e
1a6a0 67 67 2d 69 6e 66 6f 20 2e 2f 70 6c 75 67 69 6e 73 2f 6e 65 75 74 72 6f 6e 2d 2a 0a 00 00 00 00 gg-info../plugins/neutron-*.....
1a6c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a6e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a7a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a7c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a7e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a800 6e 65 74 77 6f 72 6b 69 6e 67 2d 6f 6e 6f 73 2f 74 6f 6f 6c 73 2f 63 68 65 63 6b 5f 62 61 73 68 networking-onos/tools/check_bash
1a820 2e 73 68 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .sh.............................
1a840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a860 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000644.0001750.0001750.0000
1a880 30 30 30 32 32 32 36 00 31 32 36 32 37 35 31 33 34 34 32 00 30 31 36 35 31 35 00 20 30 00 00 00 0002226.12627513442.016515..0...
1a8a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a8c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a8e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a900 00 75 73 74 61 72 20 20 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...onos...................
1a920 00 00 00 00 00 00 00 00 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........onos...................
1a940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a9a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a9c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a9e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1aa00 23 21 20 2f 62 69 6e 2f 73 68 0a 0a 23 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 31 34 #!./bin/sh..#.Copyright.(C).2014
1aa20 20 56 41 20 4c 69 6e 75 78 20 53 79 73 74 65 6d 73 20 4a 61 70 61 6e 20 4b 2e 4b 2e 0a 23 20 43 .VA.Linux.Systems.Japan.K.K..#.C
1aa40 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 31 34 20 59 41 4d 41 4d 4f 54 4f 20 54 61 6b 61 73 opyright.(C).2014.YAMAMOTO.Takas
1aa60 68 69 20 3c 79 61 6d 61 6d 6f 74 6f 20 61 74 20 76 61 6c 69 6e 75 78 20 63 6f 20 6a 70 3e 0a 23 hi.<yamamoto.at.valinux.co.jp>.#
1aa80 20 41 6c 6c 20 52 69 67 68 74 73 20 52 65 73 65 72 76 65 64 2e 0a 23 0a 23 20 20 20 20 4c 69 63 .All.Rights.Reserved..#.#....Lic
1aaa0 65 6e 73 65 64 20 75 6e 64 65 72 20 74 68 65 20 41 70 61 63 68 65 20 4c 69 63 65 6e 73 65 2c 20 ensed.under.the.Apache.License,.
1aac0 56 65 72 73 69 6f 6e 20 32 2e 30 20 28 74 68 65 20 22 4c 69 63 65 6e 73 65 22 29 3b 20 79 6f 75 Version.2.0.(the."License");.you
1aae0 20 6d 61 79 0a 23 20 20 20 20 6e 6f 74 20 75 73 65 20 74 68 69 73 20 66 69 6c 65 20 65 78 63 65 .may.#....not.use.this.file.exce
1ab00 70 74 20 69 6e 20 63 6f 6d 70 6c 69 61 6e 63 65 20 77 69 74 68 20 74 68 65 20 4c 69 63 65 6e 73 pt.in.compliance.with.the.Licens
1ab20 65 2e 20 59 6f 75 20 6d 61 79 20 6f 62 74 61 69 6e 0a 23 20 20 20 20 61 20 63 6f 70 79 20 6f 66 e..You.may.obtain.#....a.copy.of
1ab40 20 74 68 65 20 4c 69 63 65 6e 73 65 20 61 74 0a 23 0a 23 20 20 20 20 20 20 20 20 20 68 74 74 70 .the.License.at.#.#.........http
1ab60 3a 2f 2f 77 77 77 2e 61 70 61 63 68 65 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 4c 49 43 45 4e ://www.apache.org/licenses/LICEN
1ab80 53 45 2d 32 2e 30 0a 23 0a 23 20 20 20 20 55 6e 6c 65 73 73 20 72 65 71 75 69 72 65 64 20 62 79 SE-2.0.#.#....Unless.required.by
1aba0 20 61 70 70 6c 69 63 61 62 6c 65 20 6c 61 77 20 6f 72 20 61 67 72 65 65 64 20 74 6f 20 69 6e 20 .applicable.law.or.agreed.to.in.
1abc0 77 72 69 74 69 6e 67 2c 20 73 6f 66 74 77 61 72 65 0a 23 20 20 20 20 64 69 73 74 72 69 62 75 74 writing,.software.#....distribut
1abe0 65 64 20 75 6e 64 65 72 20 74 68 65 20 4c 69 63 65 6e 73 65 20 69 73 20 64 69 73 74 72 69 62 75 ed.under.the.License.is.distribu
1ac00 74 65 64 20 6f 6e 20 61 6e 20 22 41 53 20 49 53 22 20 42 41 53 49 53 2c 20 57 49 54 48 4f 55 54 ted.on.an."AS.IS".BASIS,.WITHOUT
1ac20 0a 23 20 20 20 20 57 41 52 52 41 4e 54 49 45 53 20 4f 52 20 43 4f 4e 44 49 54 49 4f 4e 53 20 4f .#....WARRANTIES.OR.CONDITIONS.O
1ac40 46 20 41 4e 59 20 4b 49 4e 44 2c 20 65 69 74 68 65 72 20 65 78 70 72 65 73 73 20 6f 72 20 69 6d F.ANY.KIND,.either.express.or.im
1ac60 70 6c 69 65 64 2e 20 53 65 65 20 74 68 65 0a 23 20 20 20 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 plied..See.the.#....License.for.
1ac80 74 68 65 20 73 70 65 63 69 66 69 63 20 6c 61 6e 67 75 61 67 65 20 67 6f 76 65 72 6e 69 6e 67 20 the.specific.language.governing.
1aca0 70 65 72 6d 69 73 73 69 6f 6e 73 20 61 6e 64 20 6c 69 6d 69 74 61 74 69 6f 6e 73 0a 23 20 20 20 permissions.and.limitations.#...
1acc0 20 75 6e 64 65 72 20 74 68 65 20 4c 69 63 65 6e 73 65 2e 0a 0a 23 20 54 68 65 20 70 75 72 70 6f .under.the.License...#.The.purpo
1ace0 73 65 20 6f 66 20 74 68 69 73 20 73 63 72 69 70 74 20 69 73 20 74 6f 20 61 76 6f 69 64 20 63 61 se.of.this.script.is.to.avoid.ca
1ad00 73 75 61 6c 20 69 6e 74 72 6f 64 75 63 74 69 6f 6e 20 6f 66 20 6d 6f 72 65 0a 23 20 62 61 73 68 sual.introduction.of.more.#.bash
1ad20 20 64 65 70 65 6e 64 65 6e 63 79 2e 20 20 50 6c 65 61 73 65 20 63 6f 6e 73 69 64 65 72 20 61 6c .dependency...Please.consider.al
1ad40 74 65 72 6e 61 74 69 76 65 73 20 62 65 66 6f 72 65 20 63 6f 6d 6d 69 74 69 6e 67 20 63 6f 64 65 ternatives.before.commiting.code
1ad60 0a 23 20 77 68 69 63 68 20 75 73 65 73 20 62 61 73 68 20 73 70 65 63 69 66 69 63 20 66 65 61 74 .#.which.uses.bash.specific.feat
1ad80 75 72 65 73 2e 0a 0a 23 20 49 67 6e 6f 72 65 20 63 6f 6d 6d 65 6e 74 73 2c 20 62 75 74 20 69 6e ures...#.Ignore.comments,.but.in
1ada0 63 6c 75 64 65 20 73 68 65 62 61 6e 67 73 0a 4f 42 53 45 52 56 45 44 3d 24 28 67 72 65 70 20 2d clude.shebangs.OBSERVED=$(grep.-
1adc0 45 20 27 5e 28 5b 5e 23 5d 7c 23 21 29 2e 2a 62 61 73 68 27 20 74 6f 78 2e 69 6e 69 20 74 6f 6f E.'^([^#]|#!).*bash'.tox.ini.too
1ade0 6c 73 2f 2a 20 7c 20 77 63 20 2d 6c 29 0a 45 58 50 45 43 54 45 44 3d 35 0a 69 66 20 5b 20 24 7b ls/*.|.wc.-l).EXPECTED=5.if.[.${
1ae00 45 58 50 45 43 54 45 44 7d 20 2d 6e 65 20 24 7b 4f 42 53 45 52 56 45 44 7d 20 5d 3b 20 74 68 65 EXPECTED}.-ne.${OBSERVED}.];.the
1ae20 6e 0a 20 20 20 20 65 63 68 6f 20 55 6e 65 78 70 65 63 74 65 64 20 6e 75 6d 62 65 72 20 6f 66 20 n.....echo.Unexpected.number.of.
1ae40 62 61 73 68 20 75 73 61 67 65 73 20 61 72 65 20 64 65 74 65 63 74 65 64 2e 0a 20 20 20 20 65 63 bash.usages.are.detected......ec
1ae60 68 6f 20 50 6c 65 61 73 65 20 72 65 61 64 20 74 68 65 20 63 6f 6d 6d 65 6e 74 20 69 6e 20 24 30 ho.Please.read.the.comment.in.$0
1ae80 0a 20 20 20 20 65 78 69 74 20 31 0a 66 69 0a 65 78 69 74 20 30 0a 00 00 00 00 00 00 00 00 00 00 .....exit.1.fi.exit.0...........
1aea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1aec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1aee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1af00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1af20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1af40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1af60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1af80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1afa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1afc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1afe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1b000 6e 65 74 77 6f 72 6b 69 6e 67 2d 6f 6e 6f 73 2f 74 6f 6f 6c 73 2f 73 75 62 75 6e 69 74 2d 74 72 networking-onos/tools/subunit-tr
1b020 61 63 65 2e 70 79 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ace.py..........................
1b040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1b060 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000644.0001750.0001750.0000
1b080 30 30 32 34 35 34 34 00 31 32 36 32 37 35 31 33 34 34 32 00 30 31 37 32 35 35 00 20 30 00 00 00 0024544.12627513442.017255..0...
1b0a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1b0c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1b0e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1b100 00 75 73 74 61 72 20 20 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...onos...................
1b120 00 00 00 00 00 00 00 00 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........onos...................
1b140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1b160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1b180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1b1a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1b1c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1b1e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1b200 23 21 2f 75 73 72 2f 62 69 6e 2f 65 6e 76 20 70 79 74 68 6f 6e 0a 0a 23 20 43 6f 70 79 72 69 67 #!/usr/bin/env.python..#.Copyrig
1b220 68 74 20 32 30 31 34 20 48 65 77 6c 65 74 74 2d 50 61 63 6b 61 72 64 20 44 65 76 65 6c 6f 70 6d ht.2014.Hewlett-Packard.Developm
1b240 65 6e 74 20 43 6f 6d 70 61 6e 79 2c 20 4c 2e 50 2e 0a 23 20 43 6f 70 79 72 69 67 68 74 20 32 30 ent.Company,.L.P..#.Copyright.20
1b260 31 34 20 53 61 6d 73 75 6e 67 20 45 6c 65 63 74 72 6f 6e 69 63 73 0a 23 20 41 6c 6c 20 52 69 67 14.Samsung.Electronics.#.All.Rig
1b280 68 74 73 20 52 65 73 65 72 76 65 64 2e 0a 23 0a 23 20 4c 69 63 65 6e 73 65 64 20 75 6e 64 65 72 hts.Reserved..#.#.Licensed.under
1b2a0 20 74 68 65 20 41 70 61 63 68 65 20 4c 69 63 65 6e 73 65 2c 20 56 65 72 73 69 6f 6e 20 32 2e 30 .the.Apache.License,.Version.2.0
1b2c0 20 28 74 68 65 20 22 4c 69 63 65 6e 73 65 22 29 3b 20 79 6f 75 20 6d 61 79 0a 23 20 6e 6f 74 20 .(the."License");.you.may.#.not.
1b2e0 75 73 65 20 74 68 69 73 20 66 69 6c 65 20 65 78 63 65 70 74 20 69 6e 20 63 6f 6d 70 6c 69 61 6e use.this.file.except.in.complian
1b300 63 65 20 77 69 74 68 20 74 68 65 20 4c 69 63 65 6e 73 65 2e 20 59 6f 75 20 6d 61 79 20 6f 62 74 ce.with.the.License..You.may.obt
1b320 61 69 6e 0a 23 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 65 20 61 74 0a 23 ain.#.a.copy.of.the.License.at.#
1b340 0a 23 20 20 20 20 20 68 74 74 70 3a 2f 2f 77 77 77 2e 61 70 61 63 68 65 2e 6f 72 67 2f 6c 69 63 .#.....http://www.apache.org/lic
1b360 65 6e 73 65 73 2f 4c 49 43 45 4e 53 45 2d 32 2e 30 0a 23 0a 23 20 55 6e 6c 65 73 73 20 72 65 71 enses/LICENSE-2.0.#.#.Unless.req
1b380 75 69 72 65 64 20 62 79 20 61 70 70 6c 69 63 61 62 6c 65 20 6c 61 77 20 6f 72 20 61 67 72 65 65 uired.by.applicable.law.or.agree
1b3a0 64 20 74 6f 20 69 6e 20 77 72 69 74 69 6e 67 2c 20 73 6f 66 74 77 61 72 65 0a 23 20 64 69 73 74 d.to.in.writing,.software.#.dist
1b3c0 72 69 62 75 74 65 64 20 75 6e 64 65 72 20 74 68 65 20 4c 69 63 65 6e 73 65 20 69 73 20 64 69 73 ributed.under.the.License.is.dis
1b3e0 74 72 69 62 75 74 65 64 20 6f 6e 20 61 6e 20 22 41 53 20 49 53 22 20 42 41 53 49 53 2c 20 57 49 tributed.on.an."AS.IS".BASIS,.WI
1b400 54 48 4f 55 54 0a 23 20 57 41 52 52 41 4e 54 49 45 53 20 4f 52 20 43 4f 4e 44 49 54 49 4f 4e 53 THOUT.#.WARRANTIES.OR.CONDITIONS
1b420 20 4f 46 20 41 4e 59 20 4b 49 4e 44 2c 20 65 69 74 68 65 72 20 65 78 70 72 65 73 73 20 6f 72 20 .OF.ANY.KIND,.either.express.or.
1b440 69 6d 70 6c 69 65 64 2e 20 53 65 65 20 74 68 65 0a 23 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 74 implied..See.the.#.License.for.t
1b460 68 65 20 73 70 65 63 69 66 69 63 20 6c 61 6e 67 75 61 67 65 20 67 6f 76 65 72 6e 69 6e 67 20 70 he.specific.language.governing.p
1b480 65 72 6d 69 73 73 69 6f 6e 73 20 61 6e 64 20 6c 69 6d 69 74 61 74 69 6f 6e 73 0a 23 20 75 6e 64 ermissions.and.limitations.#.und
1b4a0 65 72 20 74 68 65 20 4c 69 63 65 6e 73 65 2e 0a 0a 22 22 22 54 72 61 63 65 20 61 20 73 75 62 75 er.the.License..."""Trace.a.subu
1b4c0 6e 69 74 20 73 74 72 65 61 6d 20 69 6e 20 72 65 61 73 6f 6e 61 62 6c 65 20 64 65 74 61 69 6c 20 nit.stream.in.reasonable.detail.
1b4e0 61 6e 64 20 68 69 67 68 20 61 63 63 75 72 61 63 79 2e 22 22 22 0a 0a 69 6d 70 6f 72 74 20 61 72 and.high.accuracy."""..import.ar
1b500 67 70 61 72 73 65 0a 69 6d 70 6f 72 74 20 66 75 6e 63 74 6f 6f 6c 73 0a 69 6d 70 6f 72 74 20 6f gparse.import.functools.import.o
1b520 73 0a 69 6d 70 6f 72 74 20 72 65 0a 69 6d 70 6f 72 74 20 73 79 73 0a 0a 69 6d 70 6f 72 74 20 6d s.import.re.import.sys..import.m
1b540 69 6d 65 70 61 72 73 65 0a 69 6d 70 6f 72 74 20 73 75 62 75 6e 69 74 0a 69 6d 70 6f 72 74 20 74 imeparse.import.subunit.import.t
1b560 65 73 74 74 6f 6f 6c 73 0a 0a 44 41 59 5f 53 45 43 4f 4e 44 53 20 3d 20 36 30 20 2a 20 36 30 20 esttools..DAY_SECONDS.=.60.*.60.
1b580 2a 20 32 34 0a 46 41 49 4c 53 20 3d 20 5b 5d 0a 52 45 53 55 4c 54 53 20 3d 20 7b 7d 0a 0a 0a 63 *.24.FAILS.=.[].RESULTS.=.{}...c
1b5a0 6c 61 73 73 20 53 74 61 72 74 73 28 74 65 73 74 74 6f 6f 6c 73 2e 53 74 72 65 61 6d 52 65 73 75 lass.Starts(testtools.StreamResu
1b5c0 6c 74 29 3a 0a 0a 20 20 20 20 64 65 66 20 5f 5f 69 6e 69 74 5f 5f 28 73 65 6c 66 2c 20 6f 75 74 lt):......def.__init__(self,.out
1b5e0 70 75 74 29 3a 0a 20 20 20 20 20 20 20 20 73 75 70 65 72 28 53 74 61 72 74 73 2c 20 73 65 6c 66 put):.........super(Starts,.self
1b600 29 2e 5f 5f 69 6e 69 74 5f 5f 28 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 5f 6f 75 74 70 75 ).__init__().........self._outpu
1b620 74 20 3d 20 6f 75 74 70 75 74 0a 0a 20 20 20 20 64 65 66 20 73 74 61 72 74 54 65 73 74 52 75 6e t.=.output......def.startTestRun
1b640 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 5f 6e 65 65 64 6e 65 77 6c 69 6e (self):.........self._neednewlin
1b660 65 20 3d 20 46 61 6c 73 65 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 5f 65 6d 69 74 74 65 64 20 e.=.False.........self._emitted.
1b680 3d 20 73 65 74 28 29 0a 0a 20 20 20 20 64 65 66 20 73 74 61 74 75 73 28 73 65 6c 66 2c 20 74 65 =.set()......def.status(self,.te
1b6a0 73 74 5f 69 64 3d 4e 6f 6e 65 2c 20 74 65 73 74 5f 73 74 61 74 75 73 3d 4e 6f 6e 65 2c 20 74 65 st_id=None,.test_status=None,.te
1b6c0 73 74 5f 74 61 67 73 3d 4e 6f 6e 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 75 6e st_tags=None,................run
1b6e0 6e 61 62 6c 65 3d 54 72 75 65 2c 20 66 69 6c 65 5f 6e 61 6d 65 3d 4e 6f 6e 65 2c 20 66 69 6c 65 nable=True,.file_name=None,.file
1b700 5f 62 79 74 65 73 3d 4e 6f 6e 65 2c 20 65 6f 66 3d 46 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 _bytes=None,.eof=False,.........
1b720 20 20 20 20 20 20 20 6d 69 6d 65 5f 74 79 70 65 3d 4e 6f 6e 65 2c 20 72 6f 75 74 65 5f 63 6f 64 .......mime_type=None,.route_cod
1b740 65 3d 4e 6f 6e 65 2c 20 74 69 6d 65 73 74 61 6d 70 3d 4e 6f 6e 65 29 3a 0a 20 20 20 20 20 20 20 e=None,.timestamp=None):........
1b760 20 73 75 70 65 72 28 53 74 61 72 74 73 2c 20 73 65 6c 66 29 2e 73 74 61 74 75 73 28 0a 20 20 20 .super(Starts,.self).status(....
1b780 20 20 20 20 20 20 20 20 20 74 65 73 74 5f 69 64 2c 20 74 65 73 74 5f 73 74 61 74 75 73 2c 0a 20 .........test_id,.test_status,..
1b7a0 20 20 20 20 20 20 20 20 20 20 20 74 65 73 74 5f 74 61 67 73 3d 74 65 73 74 5f 74 61 67 73 2c 20 ...........test_tags=test_tags,.
1b7c0 72 75 6e 6e 61 62 6c 65 3d 72 75 6e 6e 61 62 6c 65 2c 20 66 69 6c 65 5f 6e 61 6d 65 3d 66 69 6c runnable=runnable,.file_name=fil
1b7e0 65 5f 6e 61 6d 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 69 6c 65 5f 62 79 74 65 73 3d 66 e_name,.............file_bytes=f
1b800 69 6c 65 5f 62 79 74 65 73 2c 20 65 6f 66 3d 65 6f 66 2c 20 6d 69 6d 65 5f 74 79 70 65 3d 6d 69 ile_bytes,.eof=eof,.mime_type=mi
1b820 6d 65 5f 74 79 70 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 6f 75 74 65 5f 63 6f 64 65 3d me_type,.............route_code=
1b840 72 6f 75 74 65 5f 63 6f 64 65 2c 20 74 69 6d 65 73 74 61 6d 70 3d 74 69 6d 65 73 74 61 6d 70 29 route_code,.timestamp=timestamp)
1b860 0a 20 20 20 20 20 20 20 20 69 66 20 6e 6f 74 20 74 65 73 74 5f 69 64 3a 0a 20 20 20 20 20 20 20 .........if.not.test_id:........
1b880 20 20 20 20 20 69 66 20 6e 6f 74 20 66 69 6c 65 5f 62 79 74 65 73 3a 0a 20 20 20 20 20 20 20 20 .....if.not.file_bytes:.........
1b8a0 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 6e 6f ........return.............if.no
1b8c0 74 20 6d 69 6d 65 5f 74 79 70 65 20 6f 72 20 6d 69 6d 65 5f 74 79 70 65 20 3d 3d 20 27 74 65 73 t.mime_type.or.mime_type.==.'tes
1b8e0 74 2f 70 6c 61 69 6e 3b 63 68 61 72 73 65 74 3d 75 74 66 38 27 3a 0a 20 20 20 20 20 20 20 20 20 t/plain;charset=utf8':..........
1b900 20 20 20 20 20 20 20 6d 69 6d 65 5f 74 79 70 65 20 3d 20 27 74 65 78 74 2f 70 6c 61 69 6e 3b 20 .......mime_type.=.'text/plain;.
1b920 63 68 61 72 73 65 74 3d 75 74 66 2d 38 27 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 72 69 6d 61 charset=utf-8'.............prima
1b940 72 79 2c 20 73 75 62 2c 20 70 61 72 61 6d 65 74 65 72 73 20 3d 20 6d 69 6d 65 70 61 72 73 65 2e ry,.sub,.parameters.=.mimeparse.
1b960 70 61 72 73 65 5f 6d 69 6d 65 5f 74 79 70 65 28 6d 69 6d 65 5f 74 79 70 65 29 0a 20 20 20 20 20 parse_mime_type(mime_type)......
1b980 20 20 20 20 20 20 20 63 6f 6e 74 65 6e 74 5f 74 79 70 65 20 3d 20 74 65 73 74 74 6f 6f 6c 73 2e .......content_type.=.testtools.
1b9a0 63 6f 6e 74 65 6e 74 5f 74 79 70 65 2e 43 6f 6e 74 65 6e 74 54 79 70 65 28 0a 20 20 20 20 20 20 content_type.ContentType(.......
1b9c0 20 20 20 20 20 20 20 20 20 20 70 72 69 6d 61 72 79 2c 20 73 75 62 2c 20 70 61 72 61 6d 65 74 65 ..........primary,.sub,.paramete
1b9e0 72 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 74 65 6e 74 20 3d 20 74 65 73 74 74 6f rs).............content.=.testto
1ba00 6f 6c 73 2e 63 6f 6e 74 65 6e 74 2e 43 6f 6e 74 65 6e 74 28 0a 20 20 20 20 20 20 20 20 20 20 20 ols.content.Content(............
1ba20 20 20 20 20 20 63 6f 6e 74 65 6e 74 5f 74 79 70 65 2c 20 6c 61 6d 62 64 61 3a 20 5b 66 69 6c 65 .....content_type,.lambda:.[file
1ba40 5f 62 79 74 65 73 5d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 65 78 74 20 3d 20 63 6f 6e 74 _bytes]).............text.=.cont
1ba60 65 6e 74 2e 61 73 5f 74 65 78 74 28 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 74 65 78 ent.as_text().............if.tex
1ba80 74 20 61 6e 64 20 74 65 78 74 5b 2d 31 5d 20 6e 6f 74 20 69 6e 20 27 5c 72 5c 6e 27 3a 0a 20 20 t.and.text[-1].not.in.'\r\n':...
1baa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 5f 6e 65 65 64 6e 65 77 6c 69 6e 65 20 ..............self._neednewline.
1bac0 3d 20 54 72 75 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 5f 6f 75 74 70 75 74 2e =.True.............self._output.
1bae0 77 72 69 74 65 28 74 65 78 74 29 0a 20 20 20 20 20 20 20 20 65 6c 69 66 20 74 65 73 74 5f 73 74 write(text).........elif.test_st
1bb00 61 74 75 73 20 3d 3d 20 27 69 6e 70 72 6f 67 72 65 73 73 27 20 61 6e 64 20 74 65 73 74 5f 69 64 atus.==.'inprogress'.and.test_id
1bb20 20 6e 6f 74 20 69 6e 20 73 65 6c 66 2e 5f 65 6d 69 74 74 65 64 3a 0a 20 20 20 20 20 20 20 20 20 .not.in.self._emitted:..........
1bb40 20 20 20 69 66 20 73 65 6c 66 2e 5f 6e 65 65 64 6e 65 77 6c 69 6e 65 3a 0a 20 20 20 20 20 20 20 ...if.self._neednewline:........
1bb60 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 5f 6e 65 65 64 6e 65 77 6c 69 6e 65 20 3d 20 46 61 6c .........self._neednewline.=.Fal
1bb80 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 5f 6f 75 74 70 75 74 2e se.................self._output.
1bba0 77 72 69 74 65 28 27 5c 6e 27 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 77 6f 72 6b 65 72 20 3d write('\n').............worker.=
1bbc0 20 27 27 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 74 61 67 20 69 6e 20 74 65 73 74 5f .''.............for.tag.in.test_
1bbe0 74 61 67 73 20 6f 72 20 28 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 74 tags.or.():.................if.t
1bc00 61 67 2e 73 74 61 72 74 73 77 69 74 68 28 27 77 6f 72 6b 65 72 2d 27 29 3a 0a 20 20 20 20 20 20 ag.startswith('worker-'):.......
1bc20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 77 6f 72 6b 65 72 20 3d 20 27 28 27 20 2b 20 74 61 67 ..............worker.=.'('.+.tag
1bc40 5b 37 3a 5d 20 2b 20 27 29 20 27 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 74 69 6d 65 73 [7:].+.').'.............if.times
1bc60 74 61 6d 70 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 69 6d 65 73 74 72 20 3d 20 tamp:.................timestr.=.
1bc80 74 69 6d 65 73 74 61 6d 70 2e 69 73 6f 66 6f 72 6d 61 74 28 29 0a 20 20 20 20 20 20 20 20 20 20 timestamp.isoformat()...........
1bca0 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 69 6d 65 73 74 72 20 ..else:.................timestr.
1bcc0 3d 20 27 27 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 5f 6f 75 74 70 75 =.''.................self._outpu
1bce0 74 2e 77 72 69 74 65 28 27 25 73 3a 20 25 73 25 73 20 5b 73 74 61 72 74 5d 5c 6e 27 20 25 0a 20 t.write('%s:.%s%s.[start]\n'.%..
1bd00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1bd20 20 20 28 74 69 6d 65 73 74 72 2c 20 77 6f 72 6b 65 72 2c 20 74 65 73 74 5f 69 64 29 29 0a 20 20 ..(timestr,.worker,.test_id))...
1bd40 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 5f 65 6d 69 74 74 65 64 2e 61 64 64 28 74 65 73 74 ..........self._emitted.add(test
1bd60 5f 69 64 29 0a 0a 0a 64 65 66 20 63 6c 65 61 6e 75 70 5f 74 65 73 74 5f 6e 61 6d 65 28 6e 61 6d _id)...def.cleanup_test_name(nam
1bd80 65 2c 20 73 74 72 69 70 5f 74 61 67 73 3d 54 72 75 65 2c 20 73 74 72 69 70 5f 73 63 65 6e 61 72 e,.strip_tags=True,.strip_scenar
1bda0 69 6f 73 3d 46 61 6c 73 65 29 3a 0a 20 20 20 20 22 22 22 43 6c 65 61 6e 20 75 70 20 74 68 65 20 ios=False):....."""Clean.up.the.
1bdc0 74 65 73 74 20 6e 61 6d 65 20 66 6f 72 20 64 69 73 70 6c 61 79 2e 0a 0a 20 20 20 20 42 79 20 64 test.name.for.display.......By.d
1bde0 65 66 61 75 6c 74 20 77 65 20 73 74 72 69 70 20 6f 75 74 20 74 68 65 20 74 61 67 73 20 69 6e 20 efault.we.strip.out.the.tags.in.
1be00 74 68 65 20 74 65 73 74 20 62 65 63 61 75 73 65 20 74 68 65 79 20 64 6f 6e 27 74 20 68 65 6c 70 the.test.because.they.don't.help
1be20 20 75 73 0a 20 20 20 20 69 6e 20 69 64 65 6e 74 69 66 79 69 6e 67 20 74 68 65 20 74 65 73 74 20 .us.....in.identifying.the.test.
1be40 74 68 61 74 20 69 73 20 72 75 6e 20 74 6f 20 69 74 27 73 20 72 65 73 75 6c 74 2e 0a 0a 20 20 20 that.is.run.to.it's.result......
1be60 20 4d 61 6b 65 20 69 74 20 70 6f 73 73 69 62 6c 65 20 74 6f 20 73 74 72 69 70 20 6f 75 74 20 74 .Make.it.possible.to.strip.out.t
1be80 68 65 20 74 65 73 74 73 63 65 6e 61 72 69 6f 73 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 28 6e 6f he.testscenarios.information.(no
1bea0 74 20 74 6f 0a 20 20 20 20 62 65 20 63 6f 6e 66 75 73 65 64 20 77 69 74 68 20 74 65 6d 70 65 73 t.to.....be.confused.with.tempes
1bec0 74 20 73 63 65 6e 61 72 69 6f 73 29 20 68 6f 77 65 76 65 72 20 74 68 61 74 27 73 20 6f 66 74 65 t.scenarios).however.that's.ofte
1bee0 6e 20 6e 65 65 64 65 64 20 74 6f 0a 20 20 20 20 69 6e 64 65 6e 74 69 66 79 20 67 65 6e 65 72 61 n.needed.to.....indentify.genera
1bf00 74 65 64 20 6e 65 67 61 74 69 76 65 20 74 65 73 74 73 2e 0a 20 20 20 20 22 22 22 0a 20 20 20 20 ted.negative.tests......""".....
1bf20 69 66 20 73 74 72 69 70 5f 74 61 67 73 3a 0a 20 20 20 20 20 20 20 20 74 61 67 73 5f 73 74 61 72 if.strip_tags:.........tags_star
1bf40 74 20 3d 20 6e 61 6d 65 2e 66 69 6e 64 28 27 5b 27 29 0a 20 20 20 20 20 20 20 20 74 61 67 73 5f t.=.name.find('[').........tags_
1bf60 65 6e 64 20 3d 20 6e 61 6d 65 2e 66 69 6e 64 28 27 5d 27 29 0a 20 20 20 20 20 20 20 20 69 66 20 end.=.name.find(']').........if.
1bf80 74 61 67 73 5f 73 74 61 72 74 20 3e 20 30 20 61 6e 64 20 74 61 67 73 5f 65 6e 64 20 3e 20 74 61 tags_start.>.0.and.tags_end.>.ta
1bfa0 67 73 5f 73 74 61 72 74 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 6e 65 77 6e 61 6d 65 20 3d 20 gs_start:.............newname.=.
1bfc0 6e 61 6d 65 5b 3a 74 61 67 73 5f 73 74 61 72 74 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 6e 65 name[:tags_start].............ne
1bfe0 77 6e 61 6d 65 20 2b 3d 20 6e 61 6d 65 5b 74 61 67 73 5f 65 6e 64 20 2b 20 31 3a 5d 0a 20 20 20 wname.+=.name[tags_end.+.1:]....
1c000 20 20 20 20 20 20 20 20 20 6e 61 6d 65 20 3d 20 6e 65 77 6e 61 6d 65 0a 0a 20 20 20 20 69 66 20 .........name.=.newname......if.
1c020 73 74 72 69 70 5f 73 63 65 6e 61 72 69 6f 73 3a 0a 20 20 20 20 20 20 20 20 74 61 67 73 5f 73 74 strip_scenarios:.........tags_st
1c040 61 72 74 20 3d 20 6e 61 6d 65 2e 66 69 6e 64 28 27 28 27 29 0a 20 20 20 20 20 20 20 20 74 61 67 art.=.name.find('(').........tag
1c060 73 5f 65 6e 64 20 3d 20 6e 61 6d 65 2e 66 69 6e 64 28 27 29 27 29 0a 20 20 20 20 20 20 20 20 69 s_end.=.name.find(')').........i
1c080 66 20 74 61 67 73 5f 73 74 61 72 74 20 3e 20 30 20 61 6e 64 20 74 61 67 73 5f 65 6e 64 20 3e 20 f.tags_start.>.0.and.tags_end.>.
1c0a0 74 61 67 73 5f 73 74 61 72 74 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 6e 65 77 6e 61 6d 65 20 tags_start:.............newname.
1c0c0 3d 20 6e 61 6d 65 5b 3a 74 61 67 73 5f 73 74 61 72 74 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 =.name[:tags_start].............
1c0e0 6e 65 77 6e 61 6d 65 20 2b 3d 20 6e 61 6d 65 5b 74 61 67 73 5f 65 6e 64 20 2b 20 31 3a 5d 0a 20 newname.+=.name[tags_end.+.1:]..
1c100 20 20 20 20 20 20 20 20 20 20 20 6e 61 6d 65 20 3d 20 6e 65 77 6e 61 6d 65 0a 0a 20 20 20 20 72 ...........name.=.newname......r
1c120 65 74 75 72 6e 20 6e 61 6d 65 0a 0a 0a 64 65 66 20 67 65 74 5f 64 75 72 61 74 69 6f 6e 28 74 69 eturn.name...def.get_duration(ti
1c140 6d 65 73 74 61 6d 70 73 29 3a 0a 20 20 20 20 73 74 61 72 74 2c 20 65 6e 64 20 3d 20 74 69 6d 65 mestamps):.....start,.end.=.time
1c160 73 74 61 6d 70 73 0a 20 20 20 20 69 66 20 6e 6f 74 20 73 74 61 72 74 20 6f 72 20 6e 6f 74 20 65 stamps.....if.not.start.or.not.e
1c180 6e 64 3a 0a 20 20 20 20 20 20 20 20 64 75 72 61 74 69 6f 6e 20 3d 20 27 27 0a 20 20 20 20 65 6c nd:.........duration.=.''.....el
1c1a0 73 65 3a 0a 20 20 20 20 20 20 20 20 64 65 6c 74 61 20 3d 20 65 6e 64 20 2d 20 73 74 61 72 74 0a se:.........delta.=.end.-.start.
1c1c0 20 20 20 20 20 20 20 20 64 75 72 61 74 69 6f 6e 20 3d 20 27 25 64 2e 25 30 36 64 73 27 20 25 20 ........duration.=.'%d.%06ds'.%.
1c1e0 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 64 65 6c 74 61 2e 64 61 79 73 20 2a 20 44 41 59 5f 53 (.............delta.days.*.DAY_S
1c200 45 43 4f 4e 44 53 20 2b 20 64 65 6c 74 61 2e 73 65 63 6f 6e 64 73 2c 20 64 65 6c 74 61 2e 6d 69 ECONDS.+.delta.seconds,.delta.mi
1c220 63 72 6f 73 65 63 6f 6e 64 73 29 0a 20 20 20 20 72 65 74 75 72 6e 20 64 75 72 61 74 69 6f 6e 0a croseconds).....return.duration.
1c240 0a 0a 64 65 66 20 66 69 6e 64 5f 77 6f 72 6b 65 72 28 74 65 73 74 29 3a 0a 20 20 20 20 66 6f 72 ..def.find_worker(test):.....for
1c260 20 74 61 67 20 69 6e 20 74 65 73 74 5b 27 74 61 67 73 27 5d 3a 0a 20 20 20 20 20 20 20 20 69 66 .tag.in.test['tags']:.........if
1c280 20 74 61 67 2e 73 74 61 72 74 73 77 69 74 68 28 27 77 6f 72 6b 65 72 2d 27 29 3a 0a 20 20 20 20 .tag.startswith('worker-'):.....
1c2a0 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 69 6e 74 28 74 61 67 5b 37 3a 5d 29 0a 20 20 20 20 ........return.int(tag[7:]).....
1c2c0 72 65 74 75 72 6e 20 27 4e 61 4e 27 0a 0a 0a 23 20 50 72 69 6e 74 20 6f 75 74 20 73 74 64 6f 75 return.'NaN'...#.Print.out.stdou
1c2e0 74 2f 73 74 64 65 72 72 20 69 66 20 69 74 20 65 78 69 73 74 73 2c 20 61 6c 77 61 79 73 0a 64 65 t/stderr.if.it.exists,.always.de
1c300 66 20 70 72 69 6e 74 5f 61 74 74 61 63 68 6d 65 6e 74 73 28 73 74 72 65 61 6d 2c 20 74 65 73 74 f.print_attachments(stream,.test
1c320 2c 20 61 6c 6c 5f 63 68 61 6e 6e 65 6c 73 3d 46 61 6c 73 65 29 3a 0a 20 20 20 20 22 22 22 50 72 ,.all_channels=False):....."""Pr
1c340 69 6e 74 20 6f 75 74 20 73 75 62 75 6e 69 74 20 61 74 74 61 63 68 6d 65 6e 74 73 2e 0a 0a 20 20 int.out.subunit.attachments.....
1c360 20 20 50 72 69 6e 74 20 6f 75 74 20 73 75 62 75 6e 69 74 20 61 74 74 61 63 68 6d 65 6e 74 73 20 ..Print.out.subunit.attachments.
1c380 74 68 61 74 20 63 6f 6e 74 61 69 6e 20 63 6f 6e 74 65 6e 74 2e 20 54 68 69 73 0a 20 20 20 20 72 that.contain.content..This.....r
1c3a0 75 6e 73 20 69 6e 20 32 20 6d 6f 64 65 73 2c 20 6f 6e 65 20 66 6f 72 20 73 75 63 63 65 73 73 65 uns.in.2.modes,.one.for.successe
1c3c0 73 20 77 68 65 72 65 20 77 65 20 70 72 69 6e 74 20 6f 75 74 20 6a 75 73 74 20 73 74 64 6f 75 74 s.where.we.print.out.just.stdout
1c3e0 0a 20 20 20 20 61 6e 64 20 73 74 64 65 72 72 2c 20 61 6e 64 20 61 6e 20 6f 76 65 72 72 69 64 65 .....and.stderr,.and.an.override
1c400 20 74 68 61 74 20 64 75 6d 70 73 20 61 6c 6c 20 74 68 65 20 61 74 74 61 63 68 6d 65 6e 74 73 2e .that.dumps.all.the.attachments.
1c420 0a 20 20 20 20 22 22 22 0a 20 20 20 20 63 68 61 6e 6e 65 6c 73 20 3d 20 28 27 73 74 64 6f 75 74 .....""".....channels.=.('stdout
1c440 27 2c 20 27 73 74 64 65 72 72 27 29 0a 20 20 20 20 66 6f 72 20 6e 61 6d 65 2c 20 64 65 74 61 69 ',.'stderr').....for.name,.detai
1c460 6c 20 69 6e 20 74 65 73 74 5b 27 64 65 74 61 69 6c 73 27 5d 2e 69 74 65 6d 73 28 29 3a 0a 20 20 l.in.test['details'].items():...
1c480 20 20 20 20 20 20 23 20 4e 4f 54 45 28 73 64 61 67 75 65 29 3a 20 74 68 65 20 73 75 62 75 6e 69 ......#.NOTE(sdague):.the.subuni
1c4a0 74 20 6e 61 6d 65 73 20 61 72 65 20 61 20 6c 69 74 74 6c 65 20 63 72 61 7a 79 2c 20 61 6e 64 20 t.names.are.a.little.crazy,.and.
1c4c0 61 63 74 75 61 6c 6c 79 0a 20 20 20 20 20 20 20 20 23 20 61 72 65 20 69 6e 20 74 68 65 20 66 6f actually.........#.are.in.the.fo
1c4e0 72 6d 20 70 79 74 68 6f 6e 6c 6f 67 67 69 6e 67 3a 27 27 20 28 77 69 74 68 20 74 68 65 20 63 6f rm.pythonlogging:''.(with.the.co
1c500 6c 6f 6e 20 61 6e 64 20 71 75 6f 74 65 73 29 0a 20 20 20 20 20 20 20 20 6e 61 6d 65 20 3d 20 6e lon.and.quotes).........name.=.n
1c520 61 6d 65 2e 73 70 6c 69 74 28 27 3a 27 29 5b 30 5d 0a 20 20 20 20 20 20 20 20 69 66 20 64 65 74 ame.split(':')[0].........if.det
1c540 61 69 6c 2e 63 6f 6e 74 65 6e 74 5f 74 79 70 65 2e 74 79 70 65 20 3d 3d 20 27 74 65 73 74 27 3a ail.content_type.type.==.'test':
1c560 0a 20 20 20 20 20 20 20 20 20 20 20 20 64 65 74 61 69 6c 2e 63 6f 6e 74 65 6e 74 5f 74 79 70 65 .............detail.content_type
1c580 2e 74 79 70 65 20 3d 20 27 74 65 78 74 27 0a 20 20 20 20 20 20 20 20 69 66 20 28 61 6c 6c 5f 63 .type.=.'text'.........if.(all_c
1c5a0 68 61 6e 6e 65 6c 73 20 6f 72 20 6e 61 6d 65 20 69 6e 20 63 68 61 6e 6e 65 6c 73 29 20 61 6e 64 hannels.or.name.in.channels).and
1c5c0 20 64 65 74 61 69 6c 2e 61 73 5f 74 65 78 74 28 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 .detail.as_text():.............t
1c5e0 69 74 6c 65 20 3d 20 22 43 61 70 74 75 72 65 64 20 25 73 3a 22 20 25 20 6e 61 6d 65 0a 20 20 20 itle.=."Captured.%s:".%.name....
1c600 20 20 20 20 20 20 20 20 20 73 74 72 65 61 6d 2e 77 72 69 74 65 28 22 5c 6e 25 73 5c 6e 25 73 5c .........stream.write("\n%s\n%s\
1c620 6e 22 20 25 20 28 74 69 74 6c 65 2c 20 28 27 7e 27 20 2a 20 6c 65 6e 28 74 69 74 6c 65 29 29 29 n".%.(title,.('~'.*.len(title)))
1c640 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 23 20 69 6e 64 65 6e 74 20 61 74 74 61 63 68 6d 65 6e ).............#.indent.attachmen
1c660 74 20 6c 69 6e 65 73 20 34 20 73 70 61 63 65 73 20 74 6f 20 6d 61 6b 65 20 74 68 65 6d 20 76 69 t.lines.4.spaces.to.make.them.vi
1c680 73 75 61 6c 6c 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 23 20 6f 66 66 73 65 74 0a 20 20 20 20 sually.............#.offset.....
1c6a0 20 20 20 20 20 20 20 20 66 6f 72 20 6c 69 6e 65 20 69 6e 20 64 65 74 61 69 6c 2e 61 73 5f 74 65 ........for.line.in.detail.as_te
1c6c0 78 74 28 29 2e 73 70 6c 69 74 28 27 5c 6e 27 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 xt().split('\n'):...............
1c6e0 20 20 73 74 72 65 61 6d 2e 77 72 69 74 65 28 22 20 20 20 20 25 73 5c 6e 22 20 25 20 6c 69 6e 65 ..stream.write("....%s\n".%.line
1c700 29 0a 0a 0a 64 65 66 20 73 68 6f 77 5f 6f 75 74 63 6f 6d 65 28 73 74 72 65 61 6d 2c 20 74 65 73 )...def.show_outcome(stream,.tes
1c720 74 2c 20 70 72 69 6e 74 5f 66 61 69 6c 75 72 65 73 3d 46 61 6c 73 65 2c 20 66 61 69 6c 6f 6e 6c t,.print_failures=False,.failonl
1c740 79 3d 46 61 6c 73 65 29 3a 0a 20 20 20 20 67 6c 6f 62 61 6c 20 52 45 53 55 4c 54 53 0a 20 20 20 y=False):.....global.RESULTS....
1c760 20 73 74 61 74 75 73 20 3d 20 74 65 73 74 5b 27 73 74 61 74 75 73 27 5d 0a 20 20 20 20 23 20 54 .status.=.test['status'].....#.T
1c780 4f 44 4f 28 73 64 61 67 75 65 29 3a 20 61 73 6b 20 6c 69 66 65 6c 65 73 73 20 77 68 79 20 6f 6e ODO(sdague):.ask.lifeless.why.on
1c7a0 20 74 68 69 73 3f 0a 20 20 20 20 69 66 20 73 74 61 74 75 73 20 3d 3d 20 27 65 78 69 73 74 73 27 .this?.....if.status.==.'exists'
1c7c0 3a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 0a 0a 20 20 20 20 77 6f 72 6b 65 72 20 3d 20 66 :.........return......worker.=.f
1c7e0 69 6e 64 5f 77 6f 72 6b 65 72 28 74 65 73 74 29 0a 20 20 20 20 6e 61 6d 65 20 3d 20 63 6c 65 61 ind_worker(test).....name.=.clea
1c800 6e 75 70 5f 74 65 73 74 5f 6e 61 6d 65 28 74 65 73 74 5b 27 69 64 27 5d 29 0a 20 20 20 20 64 75 nup_test_name(test['id']).....du
1c820 72 61 74 69 6f 6e 20 3d 20 67 65 74 5f 64 75 72 61 74 69 6f 6e 28 74 65 73 74 5b 27 74 69 6d 65 ration.=.get_duration(test['time
1c840 73 74 61 6d 70 73 27 5d 29 0a 0a 20 20 20 20 69 66 20 77 6f 72 6b 65 72 20 6e 6f 74 20 69 6e 20 stamps'])......if.worker.not.in.
1c860 52 45 53 55 4c 54 53 3a 0a 20 20 20 20 20 20 20 20 52 45 53 55 4c 54 53 5b 77 6f 72 6b 65 72 5d RESULTS:.........RESULTS[worker]
1c880 20 3d 20 5b 5d 0a 20 20 20 20 52 45 53 55 4c 54 53 5b 77 6f 72 6b 65 72 5d 2e 61 70 70 65 6e 64 .=.[].....RESULTS[worker].append
1c8a0 28 74 65 73 74 29 0a 0a 20 20 20 20 23 20 64 6f 6e 27 74 20 63 6f 75 6e 74 20 74 68 65 20 65 6e (test)......#.don't.count.the.en
1c8c0 64 20 6f 66 20 74 68 65 20 72 65 74 75 72 6e 20 63 6f 64 65 20 61 73 20 61 20 66 61 69 6c 0a 20 d.of.the.return.code.as.a.fail..
1c8e0 20 20 20 69 66 20 6e 61 6d 65 20 3d 3d 20 27 70 72 6f 63 65 73 73 2d 72 65 74 75 72 6e 63 6f 64 ...if.name.==.'process-returncod
1c900 65 27 3a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 0a 0a 20 20 20 20 69 66 20 73 74 61 74 75 e':.........return......if.statu
1c920 73 20 3d 3d 20 27 66 61 69 6c 27 3a 0a 20 20 20 20 20 20 20 20 46 41 49 4c 53 2e 61 70 70 65 6e s.==.'fail':.........FAILS.appen
1c940 64 28 74 65 73 74 29 0a 20 20 20 20 20 20 20 20 73 74 72 65 61 6d 2e 77 72 69 74 65 28 27 7b 25 d(test).........stream.write('{%
1c960 73 7d 20 25 73 20 5b 25 73 5d 20 2e 2e 2e 20 46 41 49 4c 45 44 5c 6e 27 20 25 20 28 0a 20 20 20 s}.%s.[%s].....FAILED\n'.%.(....
1c980 20 20 20 20 20 20 20 20 20 77 6f 72 6b 65 72 2c 20 6e 61 6d 65 2c 20 64 75 72 61 74 69 6f 6e 29 .........worker,.name,.duration)
1c9a0 29 0a 20 20 20 20 20 20 20 20 69 66 20 6e 6f 74 20 70 72 69 6e 74 5f 66 61 69 6c 75 72 65 73 3a ).........if.not.print_failures:
1c9c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 72 69 6e 74 5f 61 74 74 61 63 68 6d 65 6e 74 73 28 73 .............print_attachments(s
1c9e0 74 72 65 61 6d 2c 20 74 65 73 74 2c 20 61 6c 6c 5f 63 68 61 6e 6e 65 6c 73 3d 54 72 75 65 29 0a tream,.test,.all_channels=True).
1ca00 20 20 20 20 65 6c 69 66 20 6e 6f 74 20 66 61 69 6c 6f 6e 6c 79 3a 0a 20 20 20 20 20 20 20 20 69 ....elif.not.failonly:.........i
1ca20 66 20 73 74 61 74 75 73 20 3d 3d 20 27 73 75 63 63 65 73 73 27 3a 0a 20 20 20 20 20 20 20 20 20 f.status.==.'success':..........
1ca40 20 20 20 73 74 72 65 61 6d 2e 77 72 69 74 65 28 27 7b 25 73 7d 20 25 73 20 5b 25 73 5d 20 2e 2e ...stream.write('{%s}.%s.[%s]...
1ca60 2e 20 6f 6b 5c 6e 27 20 25 20 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 77 6f 72 6b ..ok\n'.%.(.................work
1ca80 65 72 2c 20 6e 61 6d 65 2c 20 64 75 72 61 74 69 6f 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 er,.name,.duration))............
1caa0 20 70 72 69 6e 74 5f 61 74 74 61 63 68 6d 65 6e 74 73 28 73 74 72 65 61 6d 2c 20 74 65 73 74 29 .print_attachments(stream,.test)
1cac0 0a 20 20 20 20 20 20 20 20 65 6c 69 66 20 73 74 61 74 75 73 20 3d 3d 20 27 73 6b 69 70 27 3a 0a .........elif.status.==.'skip':.
1cae0 20 20 20 20 20 20 20 20 20 20 20 20 73 74 72 65 61 6d 2e 77 72 69 74 65 28 27 7b 25 73 7d 20 25 ............stream.write('{%s}.%
1cb00 73 20 2e 2e 2e 20 53 4b 49 50 50 45 44 3a 20 25 73 5c 6e 27 20 25 20 28 0a 20 20 20 20 20 20 20 s.....SKIPPED:.%s\n'.%.(........
1cb20 20 20 20 20 20 20 20 20 20 77 6f 72 6b 65 72 2c 20 6e 61 6d 65 2c 20 74 65 73 74 5b 27 64 65 74 .........worker,.name,.test['det
1cb40 61 69 6c 73 27 5d 5b 27 72 65 61 73 6f 6e 27 5d 2e 61 73 5f 74 65 78 74 28 29 29 29 0a 20 20 20 ails']['reason'].as_text()))....
1cb60 20 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 74 72 65 61 6d 2e 77 72 .....else:.............stream.wr
1cb80 69 74 65 28 27 7b 25 73 7d 20 25 73 20 5b 25 73 5d 20 2e 2e 2e 20 25 73 5c 6e 27 20 25 20 28 0a ite('{%s}.%s.[%s].....%s\n'.%.(.
1cba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 77 6f 72 6b 65 72 2c 20 6e 61 6d 65 2c 20 64 75 ................worker,.name,.du
1cbc0 72 61 74 69 6f 6e 2c 20 74 65 73 74 5b 27 73 74 61 74 75 73 27 5d 29 29 0a 20 20 20 20 20 20 20 ration,.test['status']))........
1cbe0 20 20 20 20 20 69 66 20 6e 6f 74 20 70 72 69 6e 74 5f 66 61 69 6c 75 72 65 73 3a 0a 20 20 20 20 .....if.not.print_failures:.....
1cc00 20 20 20 20 20 20 20 20 20 20 20 20 70 72 69 6e 74 5f 61 74 74 61 63 68 6d 65 6e 74 73 28 73 74 ............print_attachments(st
1cc20 72 65 61 6d 2c 20 74 65 73 74 2c 20 61 6c 6c 5f 63 68 61 6e 6e 65 6c 73 3d 54 72 75 65 29 0a 0a ream,.test,.all_channels=True)..
1cc40 20 20 20 20 73 74 72 65 61 6d 2e 66 6c 75 73 68 28 29 0a 0a 0a 64 65 66 20 70 72 69 6e 74 5f 66 ....stream.flush()...def.print_f
1cc60 61 69 6c 73 28 73 74 72 65 61 6d 29 3a 0a 20 20 20 20 22 22 22 50 72 69 6e 74 20 73 75 6d 6d 61 ails(stream):....."""Print.summa
1cc80 72 79 20 66 61 69 6c 75 72 65 20 72 65 70 6f 72 74 2e 0a 0a 20 20 20 20 43 75 72 72 65 6e 74 6c ry.failure.report.......Currentl
1cca0 79 20 75 6e 75 73 65 64 2c 20 68 6f 77 65 76 65 72 20 74 68 65 72 65 20 72 65 6d 61 69 6e 73 20 y.unused,.however.there.remains.
1ccc0 64 65 62 61 74 65 20 6f 6e 20 69 6e 6c 69 6e 65 20 76 73 2e 20 61 74 20 65 6e 64 0a 20 20 20 20 debate.on.inline.vs..at.end.....
1cce0 72 65 70 6f 72 74 69 6e 67 2c 20 73 6f 20 6c 65 61 76 65 20 74 68 65 20 75 74 69 6c 69 74 79 20 reporting,.so.leave.the.utility.
1cd00 66 75 6e 63 74 69 6f 6e 20 66 6f 72 20 6c 61 74 65 72 20 75 73 65 2e 0a 20 20 20 20 22 22 22 0a function.for.later.use......""".
1cd20 20 20 20 20 69 66 20 6e 6f 74 20 46 41 49 4c 53 3a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e ....if.not.FAILS:.........return
1cd40 0a 20 20 20 20 73 74 72 65 61 6d 2e 77 72 69 74 65 28 22 5c 6e 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d .....stream.write("\n===========
1cd60 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 5c 6e 22 29 0a 20 20 20 20 73 74 72 65 ===================\n").....stre
1cd80 61 6d 2e 77 72 69 74 65 28 22 46 61 69 6c 65 64 20 25 73 20 74 65 73 74 73 20 2d 20 6f 75 74 70 am.write("Failed.%s.tests.-.outp
1cda0 75 74 20 62 65 6c 6f 77 3a 22 20 25 20 6c 65 6e 28 46 41 49 4c 53 29 29 0a 20 20 20 20 73 74 72 ut.below:".%.len(FAILS)).....str
1cdc0 65 61 6d 2e 77 72 69 74 65 28 22 5c 6e 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d eam.write("\n===================
1cde0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 5c 6e 22 29 0a 20 20 20 20 66 6f 72 20 66 20 69 6e 20 46 41 49 ===========\n").....for.f.in.FAI
1ce00 4c 53 3a 0a 20 20 20 20 20 20 20 20 73 74 72 65 61 6d 2e 77 72 69 74 65 28 22 5c 6e 25 73 5c 6e LS:.........stream.write("\n%s\n
1ce20 22 20 25 20 66 5b 27 69 64 27 5d 29 0a 20 20 20 20 20 20 20 20 73 74 72 65 61 6d 2e 77 72 69 74 ".%.f['id']).........stream.writ
1ce40 65 28 22 25 73 5c 6e 22 20 25 20 28 27 2d 27 20 2a 20 6c 65 6e 28 66 5b 27 69 64 27 5d 29 29 29 e("%s\n".%.('-'.*.len(f['id'])))
1ce60 0a 20 20 20 20 20 20 20 20 70 72 69 6e 74 5f 61 74 74 61 63 68 6d 65 6e 74 73 28 73 74 72 65 61 .........print_attachments(strea
1ce80 6d 2c 20 66 2c 20 61 6c 6c 5f 63 68 61 6e 6e 65 6c 73 3d 54 72 75 65 29 0a 20 20 20 20 73 74 72 m,.f,.all_channels=True).....str
1cea0 65 61 6d 2e 77 72 69 74 65 28 27 5c 6e 27 29 0a 0a 0a 64 65 66 20 63 6f 75 6e 74 5f 74 65 73 74 eam.write('\n')...def.count_test
1cec0 73 28 6b 65 79 2c 20 76 61 6c 75 65 29 3a 0a 20 20 20 20 63 6f 75 6e 74 20 3d 20 30 0a 20 20 20 s(key,.value):.....count.=.0....
1cee0 20 66 6f 72 20 6b 2c 20 76 20 69 6e 20 52 45 53 55 4c 54 53 2e 69 74 65 6d 73 28 29 3a 0a 20 20 .for.k,.v.in.RESULTS.items():...
1cf00 20 20 20 20 20 20 66 6f 72 20 69 74 65 6d 20 69 6e 20 76 3a 0a 20 20 20 20 20 20 20 20 20 20 20 ......for.item.in.v:............
1cf20 20 69 66 20 6b 65 79 20 69 6e 20 69 74 65 6d 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .if.key.in.item:................
1cf40 20 69 66 20 72 65 2e 73 65 61 72 63 68 28 76 61 6c 75 65 2c 20 69 74 65 6d 5b 6b 65 79 5d 29 3a .if.re.search(value,.item[key]):
1cf60 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 75 6e 74 20 2b 3d 20 31 0a .....................count.+=.1.
1cf80 20 20 20 20 72 65 74 75 72 6e 20 63 6f 75 6e 74 0a 0a 0a 64 65 66 20 72 75 6e 5f 74 69 6d 65 28 ....return.count...def.run_time(
1cfa0 29 3a 0a 20 20 20 20 72 75 6e 74 69 6d 65 20 3d 20 30 2e 30 0a 20 20 20 20 66 6f 72 20 6b 2c 20 ):.....runtime.=.0.0.....for.k,.
1cfc0 76 20 69 6e 20 52 45 53 55 4c 54 53 2e 69 74 65 6d 73 28 29 3a 0a 20 20 20 20 20 20 20 20 66 6f v.in.RESULTS.items():.........fo
1cfe0 72 20 74 65 73 74 20 69 6e 20 76 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 75 6e 74 69 6d 65 r.test.in.v:.............runtime
1d000 20 2b 3d 20 66 6c 6f 61 74 28 67 65 74 5f 64 75 72 61 74 69 6f 6e 28 74 65 73 74 5b 27 74 69 6d .+=.float(get_duration(test['tim
1d020 65 73 74 61 6d 70 73 27 5d 29 2e 73 74 72 69 70 28 27 73 27 29 29 0a 20 20 20 20 72 65 74 75 72 estamps']).strip('s')).....retur
1d040 6e 20 72 75 6e 74 69 6d 65 0a 0a 0a 64 65 66 20 77 6f 72 6b 65 72 5f 73 74 61 74 73 28 77 6f 72 n.runtime...def.worker_stats(wor
1d060 6b 65 72 29 3a 0a 20 20 20 20 74 65 73 74 73 20 3d 20 52 45 53 55 4c 54 53 5b 77 6f 72 6b 65 72 ker):.....tests.=.RESULTS[worker
1d080 5d 0a 20 20 20 20 6e 75 6d 5f 74 65 73 74 73 20 3d 20 6c 65 6e 28 74 65 73 74 73 29 0a 20 20 20 ].....num_tests.=.len(tests)....
1d0a0 20 64 65 6c 74 61 20 3d 20 74 65 73 74 73 5b 2d 31 5d 5b 27 74 69 6d 65 73 74 61 6d 70 73 27 5d .delta.=.tests[-1]['timestamps']
1d0c0 5b 31 5d 20 2d 20 74 65 73 74 73 5b 30 5d 5b 27 74 69 6d 65 73 74 61 6d 70 73 27 5d 5b 30 5d 0a [1].-.tests[0]['timestamps'][0].
1d0e0 20 20 20 20 72 65 74 75 72 6e 20 6e 75 6d 5f 74 65 73 74 73 2c 20 64 65 6c 74 61 0a 0a 0a 64 65 ....return.num_tests,.delta...de
1d100 66 20 70 72 69 6e 74 5f 73 75 6d 6d 61 72 79 28 73 74 72 65 61 6d 29 3a 0a 20 20 20 20 73 74 72 f.print_summary(stream):.....str
1d120 65 61 6d 2e 77 72 69 74 65 28 22 5c 6e 3d 3d 3d 3d 3d 3d 5c 6e 54 6f 74 61 6c 73 5c 6e 3d 3d 3d eam.write("\n======\nTotals\n===
1d140 3d 3d 3d 5c 6e 22 29 0a 20 20 20 20 73 74 72 65 61 6d 2e 77 72 69 74 65 28 22 52 75 6e 3a 20 25 ===\n").....stream.write("Run:.%
1d160 73 20 69 6e 20 25 73 20 73 65 63 2e 5c 6e 22 20 25 20 28 63 6f 75 6e 74 5f 74 65 73 74 73 28 27 s.in.%s.sec.\n".%.(count_tests('
1d180 73 74 61 74 75 73 27 2c 20 27 2e 2a 27 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 status',.'.*'),.................
1d1a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 75 6e 5f 74 ...........................run_t
1d1c0 69 6d 65 28 29 29 29 0a 20 20 20 20 73 74 72 65 61 6d 2e 77 72 69 74 65 28 22 20 2d 20 50 61 73 ime())).....stream.write(".-.Pas
1d1e0 73 65 64 3a 20 25 73 5c 6e 22 20 25 20 63 6f 75 6e 74 5f 74 65 73 74 73 28 27 73 74 61 74 75 73 sed:.%s\n".%.count_tests('status
1d200 27 2c 20 27 73 75 63 63 65 73 73 27 29 29 0a 20 20 20 20 73 74 72 65 61 6d 2e 77 72 69 74 65 28 ',.'success')).....stream.write(
1d220 22 20 2d 20 53 6b 69 70 70 65 64 3a 20 25 73 5c 6e 22 20 25 20 63 6f 75 6e 74 5f 74 65 73 74 73 ".-.Skipped:.%s\n".%.count_tests
1d240 28 27 73 74 61 74 75 73 27 2c 20 27 73 6b 69 70 27 29 29 0a 20 20 20 20 73 74 72 65 61 6d 2e 77 ('status',.'skip')).....stream.w
1d260 72 69 74 65 28 22 20 2d 20 46 61 69 6c 65 64 3a 20 25 73 5c 6e 22 20 25 20 63 6f 75 6e 74 5f 74 rite(".-.Failed:.%s\n".%.count_t
1d280 65 73 74 73 28 27 73 74 61 74 75 73 27 2c 20 27 66 61 69 6c 27 29 29 0a 0a 20 20 20 20 23 20 77 ests('status',.'fail'))......#.w
1d2a0 65 20 63 6f 75 6c 64 20 68 61 76 65 20 6e 6f 20 72 65 73 75 6c 74 73 2c 20 65 73 70 65 63 69 61 e.could.have.no.results,.especia
1d2c0 6c 6c 79 20 61 73 20 77 65 20 66 69 6c 74 65 72 20 6f 75 74 20 74 68 65 20 70 72 6f 63 65 73 73 lly.as.we.filter.out.the.process
1d2e0 2d 63 6f 64 65 73 0a 20 20 20 20 69 66 20 52 45 53 55 4c 54 53 3a 0a 20 20 20 20 20 20 20 20 73 -codes.....if.RESULTS:.........s
1d300 74 72 65 61 6d 2e 77 72 69 74 65 28 22 5c 6e 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 5c 6e 57 tream.write("\n==============\nW
1d320 6f 72 6b 65 72 20 42 61 6c 61 6e 63 65 5c 6e 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 5c 6e 22 orker.Balance\n==============\n"
1d340 29 0a 0a 20 20 20 20 20 20 20 20 66 6f 72 20 77 20 69 6e 20 72 61 6e 67 65 28 6d 61 78 28 52 45 )..........for.w.in.range(max(RE
1d360 53 55 4c 54 53 2e 6b 65 79 73 28 29 29 20 2b 20 31 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 SULTS.keys()).+.1):.............
1d380 69 66 20 77 20 6e 6f 74 20 69 6e 20 52 45 53 55 4c 54 53 3a 0a 20 20 20 20 20 20 20 20 20 20 20 if.w.not.in.RESULTS:............
1d3a0 20 20 20 20 20 73 74 72 65 61 6d 2e 77 72 69 74 65 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .....stream.write(..............
1d3c0 20 20 20 20 20 20 20 22 20 2d 20 57 41 52 4e 49 4e 47 3a 20 6d 69 73 73 69 6e 67 20 57 6f 72 6b .......".-.WARNING:.missing.Work
1d3e0 65 72 20 25 73 21 20 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 52 61 er.%s!."....................."Ra
1d400 63 65 20 69 6e 20 74 65 73 74 72 20 61 63 63 6f 75 6e 74 69 6e 67 2e 5c 6e 22 20 25 20 77 29 0a ce.in.testr.accounting.\n".%.w).
1d420 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ............else:...............
1d440 20 20 6e 75 6d 2c 20 74 69 6d 65 20 3d 20 77 6f 72 6b 65 72 5f 73 74 61 74 73 28 77 29 0a 20 20 ..num,.time.=.worker_stats(w)...
1d460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 72 65 61 6d 2e 77 72 69 74 65 28 22 20 2d 20 57 ..............stream.write(".-.W
1d480 6f 72 6b 65 72 20 25 73 20 28 25 73 20 74 65 73 74 73 29 20 3d 3e 20 25 73 73 5c 6e 22 20 25 0a orker.%s.(%s.tests).=>.%ss\n".%.
1d4a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 2c .............................(w,
1d4c0 20 6e 75 6d 2c 20 74 69 6d 65 29 29 0a 0a 0a 64 65 66 20 70 61 72 73 65 5f 61 72 67 73 28 29 3a .num,.time))...def.parse_args():
1d4e0 0a 20 20 20 20 70 61 72 73 65 72 20 3d 20 61 72 67 70 61 72 73 65 2e 41 72 67 75 6d 65 6e 74 50 .....parser.=.argparse.ArgumentP
1d500 61 72 73 65 72 28 29 0a 20 20 20 20 70 61 72 73 65 72 2e 61 64 64 5f 61 72 67 75 6d 65 6e 74 28 arser().....parser.add_argument(
1d520 27 2d 2d 6e 6f 2d 66 61 69 6c 75 72 65 2d 64 65 62 75 67 27 2c 20 27 2d 6e 27 2c 20 61 63 74 69 '--no-failure-debug',.'-n',.acti
1d540 6f 6e 3d 27 73 74 6f 72 65 5f 74 72 75 65 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 on='store_true',................
1d560 20 20 20 20 20 20 20 20 20 64 65 73 74 3d 27 70 72 69 6e 74 5f 66 61 69 6c 75 72 65 73 27 2c 20 .........dest='print_failures',.
1d580 68 65 6c 70 3d 27 44 69 73 61 62 6c 65 20 70 72 69 6e 74 69 6e 67 20 66 61 69 6c 75 72 65 20 27 help='Disable.printing.failure.'
1d5a0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 64 65 62 75 67 20 .........................'debug.
1d5c0 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 69 6e 20 72 65 61 6c 74 69 6d 65 27 29 0a 20 20 20 20 70 61 information.in.realtime').....pa
1d5e0 72 73 65 72 2e 61 64 64 5f 61 72 67 75 6d 65 6e 74 28 27 2d 2d 66 61 69 6c 73 27 2c 20 27 2d 66 rser.add_argument('--fails',.'-f
1d600 27 2c 20 61 63 74 69 6f 6e 3d 27 73 74 6f 72 65 5f 74 72 75 65 27 2c 0a 20 20 20 20 20 20 20 20 ',.action='store_true',.........
1d620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 65 73 74 3d 27 70 6f 73 74 5f 66 61 69 6c 73 ................dest='post_fails
1d640 27 2c 20 68 65 6c 70 3d 27 50 72 69 6e 74 20 66 61 69 6c 75 72 65 20 64 65 62 75 67 20 27 0a 20 ',.help='Print.failure.debug.'..
1d660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 69 6e 66 6f 72 6d 61 74 .......................'informat
1d680 69 6f 6e 20 61 66 74 65 72 20 74 68 65 20 73 74 72 65 61 6d 20 69 73 20 70 72 6f 63 63 65 73 65 ion.after.the.stream.is.proccese
1d6a0 64 27 29 0a 20 20 20 20 70 61 72 73 65 72 2e 61 64 64 5f 61 72 67 75 6d 65 6e 74 28 27 2d 2d 66 d').....parser.add_argument('--f
1d6c0 61 69 6c 6f 6e 6c 79 27 2c 20 61 63 74 69 6f 6e 3d 27 73 74 6f 72 65 5f 74 72 75 65 27 2c 0a 20 ailonly',.action='store_true',..
1d6e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 65 73 74 3d 27 66 61 69 .......................dest='fai
1d700 6c 6f 6e 6c 79 27 2c 20 68 65 6c 70 3d 22 44 6f 6e 27 74 20 70 72 69 6e 74 20 73 75 63 63 65 73 lonly',.help="Don't.print.succes
1d720 73 20 69 74 65 6d 73 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 s.items",.......................
1d740 20 20 64 65 66 61 75 6c 74 3d 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..default=(.....................
1d760 20 20 20 20 20 20 20 20 6f 73 2e 65 6e 76 69 72 6f 6e 2e 67 65 74 28 27 54 52 41 43 45 5f 46 41 ........os.environ.get('TRACE_FA
1d780 49 4c 4f 4e 4c 59 27 2c 20 46 61 6c 73 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ILONLY',.False).................
1d7a0 20 20 20 20 20 20 20 20 20 20 20 20 69 73 20 6e 6f 74 20 46 61 6c 73 65 29 29 0a 20 20 20 20 72 ............is.not.False)).....r
1d7c0 65 74 75 72 6e 20 70 61 72 73 65 72 2e 70 61 72 73 65 5f 61 72 67 73 28 29 0a 0a 0a 64 65 66 20 eturn.parser.parse_args()...def.
1d7e0 6d 61 69 6e 28 29 3a 0a 20 20 20 20 61 72 67 73 20 3d 20 70 61 72 73 65 5f 61 72 67 73 28 29 0a main():.....args.=.parse_args().
1d800 20 20 20 20 73 74 72 65 61 6d 20 3d 20 73 75 62 75 6e 69 74 2e 42 79 74 65 53 74 72 65 61 6d 54 ....stream.=.subunit.ByteStreamT
1d820 6f 53 74 72 65 61 6d 52 65 73 75 6c 74 28 0a 20 20 20 20 20 20 20 20 73 79 73 2e 73 74 64 69 6e oStreamResult(.........sys.stdin
1d840 2c 20 6e 6f 6e 5f 73 75 62 75 6e 69 74 5f 6e 61 6d 65 3d 27 73 74 64 6f 75 74 27 29 0a 20 20 20 ,.non_subunit_name='stdout')....
1d860 20 73 74 61 72 74 73 20 3d 20 53 74 61 72 74 73 28 73 79 73 2e 73 74 64 6f 75 74 29 0a 20 20 20 .starts.=.Starts(sys.stdout)....
1d880 20 6f 75 74 63 6f 6d 65 73 20 3d 20 74 65 73 74 74 6f 6f 6c 73 2e 53 74 72 65 61 6d 54 6f 44 69 .outcomes.=.testtools.StreamToDi
1d8a0 63 74 28 0a 20 20 20 20 20 20 20 20 66 75 6e 63 74 6f 6f 6c 73 2e 70 61 72 74 69 61 6c 28 73 68 ct(.........functools.partial(sh
1d8c0 6f 77 5f 6f 75 74 63 6f 6d 65 2c 20 73 79 73 2e 73 74 64 6f 75 74 2c 0a 20 20 20 20 20 20 20 20 ow_outcome,.sys.stdout,.........
1d8e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 72 69 6e 74 5f 66 61 69 6c 75 72 65 73 ..................print_failures
1d900 3d 61 72 67 73 2e 70 72 69 6e 74 5f 66 61 69 6c 75 72 65 73 2c 0a 20 20 20 20 20 20 20 20 20 20 =args.print_failures,...........
1d920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 61 69 6c 6f 6e 6c 79 3d 61 72 67 73 2e 66 61 ................failonly=args.fa
1d940 69 6c 6f 6e 6c 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 29 29 0a ilonly.......................)).
1d960 20 20 20 20 73 75 6d 6d 61 72 79 20 3d 20 74 65 73 74 74 6f 6f 6c 73 2e 53 74 72 65 61 6d 53 75 ....summary.=.testtools.StreamSu
1d980 6d 6d 61 72 79 28 29 0a 20 20 20 20 72 65 73 75 6c 74 20 3d 20 74 65 73 74 74 6f 6f 6c 73 2e 43 mmary().....result.=.testtools.C
1d9a0 6f 70 79 53 74 72 65 61 6d 52 65 73 75 6c 74 28 5b 73 74 61 72 74 73 2c 20 6f 75 74 63 6f 6d 65 opyStreamResult([starts,.outcome
1d9c0 73 2c 20 73 75 6d 6d 61 72 79 5d 29 0a 20 20 20 20 72 65 73 75 6c 74 2e 73 74 61 72 74 54 65 73 s,.summary]).....result.startTes
1d9e0 74 52 75 6e 28 29 0a 20 20 20 20 74 72 79 3a 0a 20 20 20 20 20 20 20 20 73 74 72 65 61 6d 2e 72 tRun().....try:.........stream.r
1da00 75 6e 28 72 65 73 75 6c 74 29 0a 20 20 20 20 66 69 6e 61 6c 6c 79 3a 0a 20 20 20 20 20 20 20 20 un(result).....finally:.........
1da20 72 65 73 75 6c 74 2e 73 74 6f 70 54 65 73 74 52 75 6e 28 29 0a 20 20 20 20 69 66 20 63 6f 75 6e result.stopTestRun().....if.coun
1da40 74 5f 74 65 73 74 73 28 27 73 74 61 74 75 73 27 2c 20 27 2e 2a 27 29 20 3d 3d 20 30 3a 0a 20 20 t_tests('status',.'.*').==.0:...
1da60 20 20 20 20 20 20 70 72 69 6e 74 28 22 54 68 65 20 74 65 73 74 20 72 75 6e 20 64 69 64 6e 27 74 ......print("The.test.run.didn't
1da80 20 61 63 74 75 61 6c 6c 79 20 72 75 6e 20 61 6e 79 20 74 65 73 74 73 22 29 0a 20 20 20 20 20 20 .actually.run.any.tests").......
1daa0 20 20 72 65 74 75 72 6e 20 31 0a 20 20 20 20 69 66 20 61 72 67 73 2e 70 6f 73 74 5f 66 61 69 6c ..return.1.....if.args.post_fail
1dac0 73 3a 0a 20 20 20 20 20 20 20 20 70 72 69 6e 74 5f 66 61 69 6c 73 28 73 79 73 2e 73 74 64 6f 75 s:.........print_fails(sys.stdou
1dae0 74 29 0a 20 20 20 20 70 72 69 6e 74 5f 73 75 6d 6d 61 72 79 28 73 79 73 2e 73 74 64 6f 75 74 29 t).....print_summary(sys.stdout)
1db00 0a 20 20 20 20 72 65 74 75 72 6e 20 28 30 20 69 66 20 73 75 6d 6d 61 72 79 2e 77 61 73 53 75 63 .....return.(0.if.summary.wasSuc
1db20 63 65 73 73 66 75 6c 28 29 20 65 6c 73 65 20 31 29 0a 0a 0a 69 66 20 5f 5f 6e 61 6d 65 5f 5f 20 cessful().else.1)...if.__name__.
1db40 3d 3d 20 27 5f 5f 6d 61 69 6e 5f 5f 27 3a 0a 20 20 20 20 73 79 73 2e 65 78 69 74 28 6d 61 69 6e ==.'__main__':.....sys.exit(main
1db60 28 29 29 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ()).............................
1db80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1dba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1dbc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1dbe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1dc00 6e 65 74 77 6f 72 6b 69 6e 67 2d 6f 6e 6f 73 2f 74 6f 6f 6c 73 2f 70 72 65 74 74 79 5f 74 6f 78 networking-onos/tools/pretty_tox
1dc20 2e 73 68 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .sh.............................
1dc40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1dc60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000644.0001750.0001750.0000
1dc80 30 30 30 30 33 30 36 00 31 32 36 32 37 35 31 33 34 34 32 00 30 31 36 36 36 31 00 20 30 00 00 00 0000306.12627513442.016661..0...
1dca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1dcc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1dce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1dd00 00 75 73 74 61 72 20 20 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...onos...................
1dd20 00 00 00 00 00 00 00 00 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........onos...................
1dd40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1dd60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1dd80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1dda0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ddc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1dde0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1de00 23 21 20 2f 62 69 6e 2f 73 68 0a 0a 54 45 53 54 52 41 52 47 53 3d 24 31 0a 0a 65 78 65 63 20 33 #!./bin/sh..TESTRARGS=$1..exec.3
1de20 3e 26 31 0a 73 74 61 74 75 73 3d 24 28 65 78 65 63 20 34 3e 26 31 20 3e 26 33 3b 20 28 20 70 79 >&1.status=$(exec.4>&1.>&3;.(.py
1de40 74 68 6f 6e 20 73 65 74 75 70 2e 70 79 20 74 65 73 74 72 20 2d 2d 73 6c 6f 77 65 73 74 20 2d 2d thon.setup.py.testr.--slowest.--
1de60 74 65 73 74 72 2d 61 72 67 73 3d 22 2d 2d 73 75 62 75 6e 69 74 20 24 54 45 53 54 52 41 52 47 53 testr-args="--subunit.$TESTRARGS
1de80 22 3b 20 65 63 68 6f 20 24 3f 20 3e 26 34 20 29 20 7c 20 24 28 64 69 72 6e 61 6d 65 20 24 30 29 ";.echo.$?.>&4.).|.$(dirname.$0)
1dea0 2f 73 75 62 75 6e 69 74 2d 74 72 61 63 65 2e 70 79 20 2d 66 29 20 26 26 20 65 78 69 74 20 24 73 /subunit-trace.py.-f).&&.exit.$s
1dec0 74 61 74 75 73 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 tatus...........................
1dee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1df00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1df20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1df40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1df60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1df80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1dfa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1dfc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1dfe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e000 6e 65 74 77 6f 72 6b 69 6e 67 2d 6f 6e 6f 73 2f 74 6f 6f 6c 73 2f 69 31 38 6e 5f 63 66 67 2e 70 networking-onos/tools/i18n_cfg.p
1e020 79 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 y...............................
1e040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e060 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000644.0001750.0001750.0000
1e080 30 30 30 36 36 34 33 00 31 32 36 32 37 35 31 33 34 34 32 00 30 31 36 30 36 36 00 20 30 00 00 00 0006643.12627513442.016066..0...
1e0a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e0c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e0e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e100 00 75 73 74 61 72 20 20 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...onos...................
1e120 00 00 00 00 00 00 00 00 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........onos...................
1e140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e1a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e1c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e1e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e200 69 6d 70 6f 72 74 20 63 6f 6d 70 69 6c 65 72 0a 69 6d 70 6f 72 74 20 72 65 0a 0a 0a 64 65 66 20 import.compiler.import.re...def.
1e220 69 73 5f 6c 6f 67 5f 63 61 6c 6c 66 75 6e 63 28 6e 29 3a 0a 20 20 20 20 22 22 22 4c 4f 47 2e 78 is_log_callfunc(n):....."""LOG.x
1e240 78 78 28 27 68 65 6c 6c 6f 20 25 73 27 20 25 20 78 79 7a 29 20 61 6e 64 20 4c 4f 47 28 27 68 65 xx('hello.%s'.%.xyz).and.LOG('he
1e260 6c 6c 6f 27 29 22 22 22 0a 20 20 20 20 69 66 20 69 73 69 6e 73 74 61 6e 63 65 28 6e 2e 70 61 72 llo')""".....if.isinstance(n.par
1e280 65 6e 74 2c 20 63 6f 6d 70 69 6c 65 72 2e 61 73 74 2e 4d 6f 64 29 3a 0a 20 20 20 20 20 20 20 20 ent,.compiler.ast.Mod):.........
1e2a0 6e 20 3d 20 6e 2e 70 61 72 65 6e 74 0a 20 20 20 20 69 66 20 69 73 69 6e 73 74 61 6e 63 65 28 6e n.=.n.parent.....if.isinstance(n
1e2c0 2e 70 61 72 65 6e 74 2c 20 63 6f 6d 70 69 6c 65 72 2e 61 73 74 2e 43 61 6c 6c 46 75 6e 63 29 3a .parent,.compiler.ast.CallFunc):
1e2e0 0a 20 20 20 20 20 20 20 20 69 66 20 69 73 69 6e 73 74 61 6e 63 65 28 6e 2e 70 61 72 65 6e 74 2e .........if.isinstance(n.parent.
1e300 6e 6f 64 65 2c 20 63 6f 6d 70 69 6c 65 72 2e 61 73 74 2e 47 65 74 61 74 74 72 29 3a 0a 20 20 20 node,.compiler.ast.Getattr):....
1e320 20 20 20 20 20 20 20 20 20 69 66 20 69 73 69 6e 73 74 61 6e 63 65 28 6e 2e 70 61 72 65 6e 74 2e .........if.isinstance(n.parent.
1e340 6e 6f 64 65 2e 67 65 74 43 68 69 6c 64 4e 6f 64 65 73 28 29 5b 30 5d 2c 0a 20 20 20 20 20 20 20 node.getChildNodes()[0],........
1e360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6d 70 69 6c 65 72 2e 61 73 74 2e ...................compiler.ast.
1e380 4e 61 6d 65 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 6e 2e 70 61 72 65 Name):.................if.n.pare
1e3a0 6e 74 2e 6e 6f 64 65 2e 67 65 74 43 68 69 6c 64 4e 6f 64 65 73 28 29 5b 30 5d 2e 6e 61 6d 65 20 nt.node.getChildNodes()[0].name.
1e3c0 3d 3d 20 27 4c 4f 47 27 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 ==.'LOG':.....................re
1e3e0 74 75 72 6e 20 54 72 75 65 0a 20 20 20 20 72 65 74 75 72 6e 20 46 61 6c 73 65 0a 0a 0a 64 65 66 turn.True.....return.False...def
1e400 20 69 73 5f 6c 6f 67 5f 69 31 38 6e 5f 6d 73 67 5f 77 69 74 68 5f 6d 6f 64 28 6e 29 3a 0a 20 20 .is_log_i18n_msg_with_mod(n):...
1e420 20 20 22 22 22 4c 4f 47 2e 78 78 78 28 22 48 65 6c 6c 6f 20 25 73 22 20 25 20 78 79 7a 29 20 73 .."""LOG.xxx("Hello.%s".%.xyz).s
1e440 68 6f 75 6c 64 20 62 65 20 4c 4f 47 2e 78 78 78 28 22 48 65 6c 6c 6f 20 25 73 22 2c 20 78 79 7a hould.be.LOG.xxx("Hello.%s",.xyz
1e460 29 22 22 22 0a 20 20 20 20 69 66 20 6e 6f 74 20 69 73 69 6e 73 74 61 6e 63 65 28 6e 2e 70 61 72 )""".....if.not.isinstance(n.par
1e480 65 6e 74 2e 70 61 72 65 6e 74 2c 20 63 6f 6d 70 69 6c 65 72 2e 61 73 74 2e 4d 6f 64 29 3a 0a 20 ent.parent,.compiler.ast.Mod):..
1e4a0 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 46 61 6c 73 65 0a 20 20 20 20 6e 20 3d 20 6e 2e 70 61 .......return.False.....n.=.n.pa
1e4c0 72 65 6e 74 2e 70 61 72 65 6e 74 0a 20 20 20 20 69 66 20 69 73 69 6e 73 74 61 6e 63 65 28 6e 2e rent.parent.....if.isinstance(n.
1e4e0 70 61 72 65 6e 74 2c 20 63 6f 6d 70 69 6c 65 72 2e 61 73 74 2e 43 61 6c 6c 46 75 6e 63 29 3a 0a parent,.compiler.ast.CallFunc):.
1e500 20 20 20 20 20 20 20 20 69 66 20 69 73 69 6e 73 74 61 6e 63 65 28 6e 2e 70 61 72 65 6e 74 2e 6e ........if.isinstance(n.parent.n
1e520 6f 64 65 2c 20 63 6f 6d 70 69 6c 65 72 2e 61 73 74 2e 47 65 74 61 74 74 72 29 3a 0a 20 20 20 20 ode,.compiler.ast.Getattr):.....
1e540 20 20 20 20 20 20 20 20 69 66 20 69 73 69 6e 73 74 61 6e 63 65 28 6e 2e 70 61 72 65 6e 74 2e 6e ........if.isinstance(n.parent.n
1e560 6f 64 65 2e 67 65 74 43 68 69 6c 64 4e 6f 64 65 73 28 29 5b 30 5d 2c 0a 20 20 20 20 20 20 20 20 ode.getChildNodes()[0],.........
1e580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6d 70 69 6c 65 72 2e 61 73 74 2e 4e ..................compiler.ast.N
1e5a0 61 6d 65 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 6e 2e 70 61 72 65 6e ame):.................if.n.paren
1e5c0 74 2e 6e 6f 64 65 2e 67 65 74 43 68 69 6c 64 4e 6f 64 65 73 28 29 5b 30 5d 2e 6e 61 6d 65 20 3d t.node.getChildNodes()[0].name.=
1e5e0 3d 20 27 4c 4f 47 27 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 =.'LOG':.....................ret
1e600 75 72 6e 20 54 72 75 65 0a 20 20 20 20 72 65 74 75 72 6e 20 46 61 6c 73 65 0a 0a 0a 64 65 66 20 urn.True.....return.False...def.
1e620 69 73 5f 77 72 6f 6e 67 5f 69 31 38 6e 5f 66 6f 72 6d 61 74 28 6e 29 3a 0a 20 20 20 20 22 22 22 is_wrong_i18n_format(n):....."""
1e640 43 68 65 63 6b 20 5f 28 27 68 65 6c 6c 6f 20 25 73 27 20 25 20 78 79 7a 29 22 22 22 0a 20 20 20 Check._('hello.%s'.%.xyz)"""....
1e660 20 69 66 20 69 73 69 6e 73 74 61 6e 63 65 28 6e 2e 70 61 72 65 6e 74 2c 20 63 6f 6d 70 69 6c 65 .if.isinstance(n.parent,.compile
1e680 72 2e 61 73 74 2e 4d 6f 64 29 3a 0a 20 20 20 20 20 20 20 20 6e 20 3d 20 6e 2e 70 61 72 65 6e 74 r.ast.Mod):.........n.=.n.parent
1e6a0 0a 20 20 20 20 69 66 20 69 73 69 6e 73 74 61 6e 63 65 28 6e 2e 70 61 72 65 6e 74 2c 20 63 6f 6d .....if.isinstance(n.parent,.com
1e6c0 70 69 6c 65 72 2e 61 73 74 2e 43 61 6c 6c 46 75 6e 63 29 3a 0a 20 20 20 20 20 20 20 20 69 66 20 piler.ast.CallFunc):.........if.
1e6e0 69 73 69 6e 73 74 61 6e 63 65 28 6e 2e 70 61 72 65 6e 74 2e 6e 6f 64 65 2c 20 63 6f 6d 70 69 6c isinstance(n.parent.node,.compil
1e700 65 72 2e 61 73 74 2e 4e 61 6d 65 29 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 6e 2e 70 er.ast.Name):.............if.n.p
1e720 61 72 65 6e 74 2e 6e 6f 64 65 2e 6e 61 6d 65 20 3d 3d 20 27 5f 27 3a 0a 20 20 20 20 20 20 20 20 arent.node.name.==.'_':.........
1e740 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 54 72 75 65 0a 20 20 20 20 72 65 74 75 72 6e 20 46 ........return.True.....return.F
1e760 61 6c 73 65 0a 0a 0a 22 22 22 0a 55 73 65 64 20 66 6f 72 20 63 68 65 63 6b 20 6d 65 73 73 61 67 alse...""".Used.for.check.messag
1e780 65 20 6e 65 65 64 20 62 65 20 6c 6f 63 61 6c 69 7a 65 64 20 6f 72 20 6e 6f 74 2e 0a 28 70 72 65 e.need.be.localized.or.not..(pre
1e7a0 64 69 63 61 74 65 5f 66 75 6e 63 2c 20 61 63 74 69 6f 6e 2c 20 6d 65 73 73 61 67 65 29 0a 22 22 dicate_func,.action,.message).""
1e7c0 22 0a 69 31 38 6e 5f 6d 73 67 5f 70 72 65 64 69 63 61 74 65 73 20 3d 20 5b 0a 20 20 20 20 23 20 ".i18n_msg_predicates.=.[.....#.
1e7e0 53 6b 69 70 20 5b 27 68 65 6c 6c 6f 20 77 6f 72 6c 64 27 2c 20 31 5d 0a 20 20 20 20 28 6c 61 6d Skip.['hello.world',.1].....(lam
1e800 62 64 61 20 6e 3a 20 69 73 69 6e 73 74 61 6e 63 65 28 6e 2e 70 61 72 65 6e 74 2c 20 63 6f 6d 70 bda.n:.isinstance(n.parent,.comp
1e820 69 6c 65 72 2e 61 73 74 2e 4c 69 73 74 29 2c 20 27 73 6b 69 70 27 2c 20 27 27 29 2c 0a 20 20 20 iler.ast.List),.'skip',.''),....
1e840 20 23 20 53 6b 69 70 20 7b 27 68 65 6c 6c 6f 77 20 77 6f 72 6c 64 27 2c 20 31 7d 0a 20 20 20 20 .#.Skip.{'hellow.world',.1}.....
1e860 28 6c 61 6d 62 64 61 20 6e 3a 20 69 73 69 6e 73 74 61 6e 63 65 28 6e 2e 70 61 72 65 6e 74 2c 20 (lambda.n:.isinstance(n.parent,.
1e880 63 6f 6d 70 69 6c 65 72 2e 61 73 74 2e 44 69 63 74 29 2c 20 27 73 6b 69 70 27 2c 20 27 27 29 2c compiler.ast.Dict),.'skip',.''),
1e8a0 0a 20 20 20 20 23 20 53 6b 69 70 20 6d 73 67 5b 27 68 65 6c 6c 6f 20 77 6f 72 6c 64 27 5d 0a 20 .....#.Skip.msg['hello.world']..
1e8c0 20 20 20 28 6c 61 6d 62 64 61 20 6e 3a 20 69 73 69 6e 73 74 61 6e 63 65 28 6e 2e 70 61 72 65 6e ...(lambda.n:.isinstance(n.paren
1e8e0 74 2c 20 63 6f 6d 70 69 6c 65 72 2e 61 73 74 2e 53 75 62 73 63 72 69 70 74 29 2c 20 27 73 6b 69 t,.compiler.ast.Subscript),.'ski
1e900 70 27 2c 20 27 27 29 2c 0a 20 20 20 20 23 20 53 6b 69 70 20 64 6f 63 20 73 74 72 69 6e 67 0a 20 p',.''),.....#.Skip.doc.string..
1e920 20 20 20 28 6c 61 6d 62 64 61 20 6e 3a 20 69 73 69 6e 73 74 61 6e 63 65 28 6e 2e 70 61 72 65 6e ...(lambda.n:.isinstance(n.paren
1e940 74 2c 20 63 6f 6d 70 69 6c 65 72 2e 61 73 74 2e 44 69 73 63 61 72 64 29 2c 20 27 73 6b 69 70 27 t,.compiler.ast.Discard),.'skip'
1e960 2c 20 27 27 29 2c 0a 20 20 20 20 23 20 53 6b 69 70 20 6d 73 67 20 3d 20 22 68 65 6c 6c 6f 22 2c ,.''),.....#.Skip.msg.=."hello",
1e980 20 69 6e 20 6e 6f 72 6d 61 6c 2c 20 6d 65 73 73 61 67 65 20 73 68 6f 75 6c 64 20 6d 6f 72 65 20 .in.normal,.message.should.more.
1e9a0 74 68 61 6e 20 6f 6e 65 20 77 6f 72 64 0a 20 20 20 20 28 6c 61 6d 62 64 61 20 6e 3a 20 6c 65 6e than.one.word.....(lambda.n:.len
1e9c0 28 6e 2e 76 61 6c 75 65 2e 73 74 72 69 70 28 29 2e 73 70 6c 69 74 28 27 20 27 29 29 20 3c 3d 20 (n.value.strip().split('.')).<=.
1e9e0 31 2c 20 27 73 6b 69 70 27 2c 20 27 27 29 2c 0a 20 20 20 20 23 20 53 6b 69 70 20 6d 73 67 20 3d 1,.'skip',.''),.....#.Skip.msg.=
1ea00 20 27 68 65 6c 6c 6f 20 77 6f 72 6c 64 27 20 2b 20 76 61 72 73 20 2b 20 27 77 6f 72 6c 64 20 68 .'hello.world'.+.vars.+.'world.h
1ea20 65 6c 6c 6f 27 0a 20 20 20 20 28 6c 61 6d 62 64 61 20 6e 3a 20 69 73 69 6e 73 74 61 6e 63 65 28 ello'.....(lambda.n:.isinstance(
1ea40 6e 2e 70 61 72 65 6e 74 2c 20 63 6f 6d 70 69 6c 65 72 2e 61 73 74 2e 41 64 64 29 2c 20 27 73 6b n.parent,.compiler.ast.Add),.'sk
1ea60 69 70 27 2c 20 27 27 29 2c 0a 20 20 20 20 23 20 53 6b 69 70 20 78 6d 6c 20 6d 61 72 6b 65 72 73 ip',.''),.....#.Skip.xml.markers
1ea80 20 6d 73 67 20 3d 20 22 3c 74 65 73 74 3e 3c 2f 74 65 73 74 3e 22 0a 20 20 20 20 28 6c 61 6d 62 .msg.=."<test></test>".....(lamb
1eaa0 64 61 20 6e 3a 20 6c 65 6e 28 72 65 2e 63 6f 6d 70 69 6c 65 28 22 3c 2f 2e 2a 3e 22 29 2e 66 69 da.n:.len(re.compile("</.*>").fi
1eac0 6e 64 61 6c 6c 28 6e 2e 76 61 6c 75 65 29 29 20 3e 20 30 2c 20 27 73 6b 69 70 27 2c 20 27 27 29 ndall(n.value)).>.0,.'skip',.'')
1eae0 2c 0a 20 20 20 20 23 20 53 6b 69 70 20 73 71 6c 20 73 74 61 74 65 6d 65 6e 74 0a 20 20 20 20 28 ,.....#.Skip.sql.statement.....(
1eb00 6c 61 6d 62 64 61 20 6e 3a 20 6c 65 6e 28 0a 20 20 20 20 20 20 20 20 72 65 2e 63 6f 6d 70 69 6c lambda.n:.len(.........re.compil
1eb20 65 28 22 5e 53 45 4c 45 43 54 2e 2a 46 52 4f 4d 22 2c 20 66 6c 61 67 73 3d 72 65 2e 49 29 2e 66 e("^SELECT.*FROM",.flags=re.I).f
1eb40 69 6e 64 61 6c 6c 28 6e 2e 76 61 6c 75 65 29 29 20 3e 20 30 2c 0a 20 20 20 20 20 27 73 6b 69 70 indall(n.value)).>.0,......'skip
1eb60 27 2c 20 27 27 29 2c 0a 20 20 20 20 23 20 4c 4f 47 2e 78 78 78 28 29 0a 20 20 20 20 28 69 73 5f ',.''),.....#.LOG.xxx().....(is_
1eb80 6c 6f 67 5f 63 61 6c 6c 66 75 6e 63 2c 20 27 65 72 72 6f 72 27 2c 20 27 4d 65 73 73 61 67 65 20 log_callfunc,.'error',.'Message.
1eba0 6d 75 73 74 20 62 65 20 6c 6f 63 61 6c 69 7a 65 64 27 29 2c 0a 20 20 20 20 23 20 5f 28 27 68 65 must.be.localized'),.....#._('he
1ebc0 6c 6c 6f 20 25 73 27 20 25 20 78 79 7a 29 20 73 68 6f 75 6c 64 20 62 65 20 5f 28 27 68 65 6c 6c llo.%s'.%.xyz).should.be._('hell
1ebe0 6f 20 25 73 27 29 20 25 20 78 79 7a 0a 20 20 20 20 28 69 73 5f 77 72 6f 6e 67 5f 69 31 38 6e 5f o.%s').%.xyz.....(is_wrong_i18n_
1ec00 66 6f 72 6d 61 74 2c 20 27 65 72 72 6f 72 27 2c 0a 20 20 20 20 20 28 22 4d 65 73 73 61 67 65 20 format,.'error',......("Message.
1ec20 66 6f 72 6d 61 74 20 77 61 73 20 77 72 6f 6e 67 2c 20 5f 28 27 68 65 6c 6c 6f 20 25 73 27 20 25 format.was.wrong,._('hello.%s'.%
1ec40 20 78 79 7a 29 20 22 0a 20 20 20 20 20 20 22 73 68 6f 75 6c 64 20 62 65 20 5f 28 27 68 65 6c 6c .xyz)."......."should.be._('hell
1ec60 6f 20 25 73 27 29 20 25 20 78 79 7a 22 29 29 2c 0a 20 20 20 20 23 20 64 65 66 61 75 6c 74 0a 20 o.%s').%.xyz")),.....#.default..
1ec80 20 20 20 28 6c 61 6d 62 64 61 20 6e 3a 20 54 72 75 65 2c 20 27 77 61 72 6e 27 2c 20 27 4d 65 73 ...(lambda.n:.True,.'warn',.'Mes
1eca0 73 61 67 65 20 6d 69 67 68 74 20 6e 65 65 64 20 6c 6f 63 61 6c 69 7a 65 64 27 29 0a 5d 0a 0a 0a sage.might.need.localized').]...
1ecc0 22 22 22 0a 55 73 65 64 20 66 6f 72 20 63 68 65 63 6b 69 6e 67 20 6d 65 73 73 61 67 65 20 66 6f """.Used.for.checking.message.fo
1ece0 72 6d 61 74 2e 20 28 63 68 65 63 6b 65 72 5f 66 75 6e 63 2c 20 6d 65 73 73 61 67 65 29 0a 22 22 rmat..(checker_func,.message).""
1ed00 22 0a 6d 73 67 5f 66 6f 72 6d 61 74 5f 63 68 65 63 6b 65 72 73 20 3d 20 5b 0a 20 20 20 20 23 20 ".msg_format_checkers.=.[.....#.
1ed20 49 66 20 6d 65 73 73 61 67 65 20 63 6f 6e 74 61 69 6e 20 6d 6f 72 65 20 74 68 61 6e 20 6f 6e 20 If.message.contain.more.than.on.
1ed40 66 6f 72 6d 61 74 20 73 70 65 63 69 66 69 65 72 2c 20 69 74 20 73 68 6f 75 6c 64 20 75 73 65 0a format.specifier,.it.should.use.
1ed60 20 20 20 20 23 20 6d 61 70 70 69 6e 67 20 6b 65 79 0a 20 20 20 20 28 6c 61 6d 62 64 61 20 6e 3a ....#.mapping.key.....(lambda.n:
1ed80 20 6c 65 6e 28 72 65 2e 63 6f 6d 70 69 6c 65 28 22 25 5b 62 63 64 65 45 66 46 67 47 6e 6f 73 78 .len(re.compile("%[bcdeEfFgGnosx
1eda0 58 5d 22 29 2e 66 69 6e 64 61 6c 6c 28 6e 2e 76 61 6c 75 65 29 29 20 3e 20 31 2c 0a 20 20 20 20 X]").findall(n.value)).>.1,.....
1edc0 20 22 54 68 65 20 6d 65 73 73 61 67 65 20 73 68 6f 75 6c 64 6e 27 74 20 63 6f 6e 74 61 69 6e 20 ."The.message.shouldn't.contain.
1ede0 6d 6f 72 65 20 74 68 61 6e 20 6f 6e 65 20 66 6f 72 6d 61 74 20 73 70 65 63 69 66 69 65 72 22 29 more.than.one.format.specifier")
1ee00 2c 0a 20 20 20 20 23 20 43 68 65 63 6b 20 63 61 70 69 74 61 6c 0a 20 20 20 20 28 6c 61 6d 62 64 ,.....#.Check.capital.....(lambd
1ee20 61 20 6e 3a 20 6e 2e 76 61 6c 75 65 2e 73 70 6c 69 74 28 27 20 27 29 5b 30 5d 2e 63 6f 75 6e 74 a.n:.n.value.split('.')[0].count
1ee40 28 27 5f 27 29 20 3d 3d 20 30 20 61 6e 64 0a 20 20 20 20 20 6e 2e 76 61 6c 75 65 5b 30 5d 2e 69 ('_').==.0.and......n.value[0].i
1ee60 73 61 6c 70 68 61 28 29 20 61 6e 64 0a 20 20 20 20 20 6e 2e 76 61 6c 75 65 5b 30 5d 2e 69 73 6c salpha().and......n.value[0].isl
1ee80 6f 77 65 72 28 29 2c 0a 20 20 20 20 20 22 46 69 72 73 74 20 6c 65 74 74 65 72 20 6d 75 73 74 20 ower(),......"First.letter.must.
1eea0 62 65 20 63 61 70 69 74 61 6c 22 29 2c 0a 20 20 20 20 28 69 73 5f 6c 6f 67 5f 69 31 38 6e 5f 6d be.capital"),.....(is_log_i18n_m
1eec0 73 67 5f 77 69 74 68 5f 6d 6f 64 2c 0a 20 20 20 20 20 27 4c 4f 47 2e 78 78 78 28 22 48 65 6c 6c sg_with_mod,......'LOG.xxx("Hell
1eee0 6f 20 25 73 22 20 25 20 78 79 7a 29 20 73 68 6f 75 6c 64 20 62 65 20 4c 4f 47 2e 78 78 78 28 22 o.%s".%.xyz).should.be.LOG.xxx("
1ef00 48 65 6c 6c 6f 20 25 73 22 2c 20 78 79 7a 29 27 29 0a 5d 0a 0a 0a 66 69 6c 65 5f 62 6c 61 63 6b Hello.%s",.xyz)').]...file_black
1ef20 5f 6c 69 73 74 20 3d 20 5b 22 2e 2f 6e 65 75 74 72 6f 6e 2f 74 65 73 74 73 2f 75 6e 69 74 22 2c _list.=.["./neutron/tests/unit",
1ef40 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2e 2f 6e 65 75 74 72 6f 6e 2f 6f ...................."./neutron/o
1ef60 70 65 6e 73 74 61 63 6b 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2e penstack",....................".
1ef80 2f 6e 65 75 74 72 6f 6e 2f 70 6c 75 67 69 6e 73 2f 62 69 67 73 77 69 74 63 68 2f 74 65 73 74 73 /neutron/plugins/bigswitch/tests
1efa0 22 5d 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 "]..............................
1efc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1efe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f000 6e 65 74 77 6f 72 6b 69 6e 67 2d 6f 6e 6f 73 2f 73 65 74 75 70 2e 70 79 00 00 00 00 00 00 00 00 networking-onos/setup.py........
1f020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f060 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000644.0001750.0001750.0000
1f080 30 30 30 32 30 30 34 00 31 32 36 32 37 35 31 33 34 34 32 00 30 31 34 34 35 33 00 20 30 00 00 00 0002004.12627513442.014453..0...
1f0a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f0c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f0e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f100 00 75 73 74 61 72 20 20 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...onos...................
1f120 00 00 00 00 00 00 00 00 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........onos...................
1f140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f1a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f1c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f1e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f200 23 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 30 31 33 20 48 65 77 6c 65 74 74 2d 50 61 63 #.Copyright.(c).2013.Hewlett-Pac
1f220 6b 61 72 64 20 44 65 76 65 6c 6f 70 6d 65 6e 74 20 43 6f 6d 70 61 6e 79 2c 20 4c 2e 50 2e 0a 23 kard.Development.Company,.L.P..#
1f240 0a 23 20 4c 69 63 65 6e 73 65 64 20 75 6e 64 65 72 20 74 68 65 20 41 70 61 63 68 65 20 4c 69 63 .#.Licensed.under.the.Apache.Lic
1f260 65 6e 73 65 2c 20 56 65 72 73 69 6f 6e 20 32 2e 30 20 28 74 68 65 20 22 4c 69 63 65 6e 73 65 22 ense,.Version.2.0.(the."License"
1f280 29 3b 0a 23 20 79 6f 75 20 6d 61 79 20 6e 6f 74 20 75 73 65 20 74 68 69 73 20 66 69 6c 65 20 65 );.#.you.may.not.use.this.file.e
1f2a0 78 63 65 70 74 20 69 6e 20 63 6f 6d 70 6c 69 61 6e 63 65 20 77 69 74 68 20 74 68 65 20 4c 69 63 xcept.in.compliance.with.the.Lic
1f2c0 65 6e 73 65 2e 0a 23 20 59 6f 75 20 6d 61 79 20 6f 62 74 61 69 6e 20 61 20 63 6f 70 79 20 6f 66 ense..#.You.may.obtain.a.copy.of
1f2e0 20 74 68 65 20 4c 69 63 65 6e 73 65 20 61 74 0a 23 0a 23 20 20 20 20 68 74 74 70 3a 2f 2f 77 77 .the.License.at.#.#....http://ww
1f300 77 2e 61 70 61 63 68 65 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 4c 49 43 45 4e 53 45 2d 32 2e w.apache.org/licenses/LICENSE-2.
1f320 30 0a 23 0a 23 20 55 6e 6c 65 73 73 20 72 65 71 75 69 72 65 64 20 62 79 20 61 70 70 6c 69 63 61 0.#.#.Unless.required.by.applica
1f340 62 6c 65 20 6c 61 77 20 6f 72 20 61 67 72 65 65 64 20 74 6f 20 69 6e 20 77 72 69 74 69 6e 67 2c ble.law.or.agreed.to.in.writing,
1f360 20 73 6f 66 74 77 61 72 65 0a 23 20 64 69 73 74 72 69 62 75 74 65 64 20 75 6e 64 65 72 20 74 68 .software.#.distributed.under.th
1f380 65 20 4c 69 63 65 6e 73 65 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 6f 6e 20 61 6e 20 22 e.License.is.distributed.on.an."
1f3a0 41 53 20 49 53 22 20 42 41 53 49 53 2c 0a 23 20 57 49 54 48 4f 55 54 20 57 41 52 52 41 4e 54 49 AS.IS".BASIS,.#.WITHOUT.WARRANTI
1f3c0 45 53 20 4f 52 20 43 4f 4e 44 49 54 49 4f 4e 53 20 4f 46 20 41 4e 59 20 4b 49 4e 44 2c 20 65 69 ES.OR.CONDITIONS.OF.ANY.KIND,.ei
1f3e0 74 68 65 72 20 65 78 70 72 65 73 73 20 6f 72 0a 23 20 69 6d 70 6c 69 65 64 2e 0a 23 20 53 65 65 ther.express.or.#.implied..#.See
1f400 20 74 68 65 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 74 68 65 20 73 70 65 63 69 66 69 63 20 6c 61 .the.License.for.the.specific.la
1f420 6e 67 75 61 67 65 20 67 6f 76 65 72 6e 69 6e 67 20 70 65 72 6d 69 73 73 69 6f 6e 73 20 61 6e 64 nguage.governing.permissions.and
1f440 0a 23 20 6c 69 6d 69 74 61 74 69 6f 6e 73 20 75 6e 64 65 72 20 74 68 65 20 4c 69 63 65 6e 73 65 .#.limitations.under.the.License
1f460 2e 0a 0a 23 20 54 48 49 53 20 46 49 4c 45 20 49 53 20 4d 41 4e 41 47 45 44 20 42 59 20 54 48 45 ...#.THIS.FILE.IS.MANAGED.BY.THE
1f480 20 47 4c 4f 42 41 4c 20 52 45 51 55 49 52 45 4d 45 4e 54 53 20 52 45 50 4f 20 2d 20 44 4f 20 4e .GLOBAL.REQUIREMENTS.REPO.-.DO.N
1f4a0 4f 54 20 45 44 49 54 0a 69 6d 70 6f 72 74 20 73 65 74 75 70 74 6f 6f 6c 73 0a 0a 23 20 49 6e 20 OT.EDIT.import.setuptools..#.In.
1f4c0 70 79 74 68 6f 6e 20 3c 20 32 2e 37 2e 34 2c 20 61 20 6c 61 7a 79 20 6c 6f 61 64 69 6e 67 20 6f python.<.2.7.4,.a.lazy.loading.o
1f4e0 66 20 70 61 63 6b 61 67 65 20 60 70 62 72 60 20 77 69 6c 6c 20 62 72 65 61 6b 0a 23 20 73 65 74 f.package.`pbr`.will.break.#.set
1f500 75 70 74 6f 6f 6c 73 20 69 66 20 73 6f 6d 65 20 6f 74 68 65 72 20 6d 6f 64 75 6c 65 73 20 72 65 uptools.if.some.other.modules.re
1f520 67 69 73 74 65 72 65 64 20 66 75 6e 63 74 69 6f 6e 73 20 69 6e 20 60 61 74 65 78 69 74 60 2e 0a gistered.functions.in.`atexit`..
1f540 23 20 73 6f 6c 75 74 69 6f 6e 20 66 72 6f 6d 3a 20 68 74 74 70 3a 2f 2f 62 75 67 73 2e 70 79 74 #.solution.from:.http://bugs.pyt
1f560 68 6f 6e 2e 6f 72 67 2f 69 73 73 75 65 31 35 38 38 31 23 6d 73 67 31 37 30 32 31 35 0a 74 72 79 hon.org/issue15881#msg170215.try
1f580 3a 0a 20 20 20 20 69 6d 70 6f 72 74 20 6d 75 6c 74 69 70 72 6f 63 65 73 73 69 6e 67 20 20 23 20 :.....import.multiprocessing..#.
1f5a0 6e 6f 71 61 0a 65 78 63 65 70 74 20 49 6d 70 6f 72 74 45 72 72 6f 72 3a 0a 20 20 20 20 70 61 73 noqa.except.ImportError:.....pas
1f5c0 73 0a 0a 73 65 74 75 70 74 6f 6f 6c 73 2e 73 65 74 75 70 28 0a 20 20 20 20 73 65 74 75 70 5f 72 s..setuptools.setup(.....setup_r
1f5e0 65 71 75 69 72 65 73 3d 5b 27 70 62 72 3e 3d 31 2e 38 27 5d 2c 0a 20 20 20 20 70 62 72 3d 54 72 equires=['pbr>=1.8'],.....pbr=Tr
1f600 75 65 29 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ue).............................
1f620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f6a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f6c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f6e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f7a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f7c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f7e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f800 6e 65 74 77 6f 72 6b 69 6e 67 2d 6f 6e 6f 73 2f 64 6f 63 2f 00 00 00 00 00 00 00 00 00 00 00 00 networking-onos/doc/............
1f820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f860 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000755.0001750.0001750.0000
1f880 30 30 30 30 30 30 30 00 31 32 36 32 37 35 31 33 34 34 32 00 30 31 33 35 31 32 00 20 35 00 00 00 0000000.12627513442.013512..5...
1f8a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f8c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f8e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f900 00 75 73 74 61 72 20 20 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...onos...................
1f920 00 00 00 00 00 00 00 00 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........onos...................
1f940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f9a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f9c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f9e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fa00 6e 65 74 77 6f 72 6b 69 6e 67 2d 6f 6e 6f 73 2f 64 6f 63 2f 73 6f 75 72 63 65 2f 00 00 00 00 00 networking-onos/doc/source/.....
1fa20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fa40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fa60 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000755.0001750.0001750.0000
1fa80 30 30 30 30 30 30 30 00 31 32 36 32 37 35 31 33 34 34 32 00 30 31 35 30 31 32 00 20 35 00 00 00 0000000.12627513442.015012..5...
1faa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fb00 00 75 73 74 61 72 20 20 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...onos...................
1fb20 00 00 00 00 00 00 00 00 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........onos...................
1fb40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fb60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fb80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fbc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fbe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fc00 6e 65 74 77 6f 72 6b 69 6e 67 2d 6f 6e 6f 73 2f 64 6f 63 2f 73 6f 75 72 63 65 2f 69 6e 73 74 61 networking-onos/doc/source/insta
1fc20 6c 6c 61 74 69 6f 6e 2e 72 73 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 llation.rst.....................
1fc40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fc60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000644.0001750.0001750.0000
1fc80 30 30 30 30 33 32 36 00 31 32 36 32 37 35 31 33 34 34 32 00 30 32 30 32 34 36 00 20 30 00 00 00 0000326.12627513442.020246..0...
1fca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fcc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fd00 00 75 73 74 61 72 20 20 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...onos...................
1fd20 00 00 00 00 00 00 00 00 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........onos...................
1fd40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fd60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fd80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fda0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fdc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fde0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fe00 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 0a 3d 3d 3d 3d 3d 3d ============.Installation.======
1fe20 3d 3d 3d 3d 3d 3d 0a 0a 41 74 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 3a 3a 0a 0a 20 ======..At.the.command.line::...
1fe40 20 20 20 24 20 70 69 70 20 69 6e 73 74 61 6c 6c 20 6e 65 74 77 6f 72 6b 69 6e 67 2d 6f 6e 6f 73 ...$.pip.install.networking-onos
1fe60 0a 0a 4f 72 2c 20 69 66 20 79 6f 75 20 68 61 76 65 20 76 69 72 74 75 61 6c 65 6e 76 77 72 61 70 ..Or,.if.you.have.virtualenvwrap
1fe80 70 65 72 20 69 6e 73 74 61 6c 6c 65 64 3a 3a 0a 0a 20 20 20 20 24 20 6d 6b 76 69 72 74 75 61 6c per.installed::......$.mkvirtual
1fea0 65 6e 76 20 6e 65 74 77 6f 72 6b 69 6e 67 2d 6f 6e 6f 73 0a 20 20 20 20 24 20 70 69 70 20 69 6e env.networking-onos.....$.pip.in
1fec0 73 74 61 6c 6c 20 6e 65 74 77 6f 72 6b 69 6e 67 2d 6f 6e 6f 73 0a 00 00 00 00 00 00 00 00 00 00 stall.networking-onos...........
1fee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ff00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ff20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ff40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ff60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ff80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ffa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ffc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ffe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20000 6e 65 74 77 6f 72 6b 69 6e 67 2d 6f 6e 6f 73 2f 64 6f 63 2f 73 6f 75 72 63 65 2f 63 6f 6e 74 72 networking-onos/doc/source/contr
20020 69 62 75 74 69 6e 67 2e 72 73 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ibuting.rst.....................
20040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20060 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000644.0001750.0001750.0000
20080 30 30 30 30 31 31 33 00 31 32 36 32 37 35 31 33 34 34 32 00 30 32 30 32 34 36 00 20 30 00 00 00 0000113.12627513442.020246..0...
200a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
200c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
200e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20100 00 75 73 74 61 72 20 20 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...onos...................
20120 00 00 00 00 00 00 00 00 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........onos...................
20140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
201a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
201c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
201e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20200 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 43 6f 6e 74 72 69 62 75 74 69 6e 67 0a 3d 3d 3d 3d 3d 3d ============.Contributing.======
20220 3d 3d 3d 3d 3d 3d 0a 2e 2e 20 69 6e 63 6c 75 64 65 3a 3a 20 2e 2e 2f 2e 2e 2f 43 4f 4e 54 52 49 ======....include::.../../CONTRI
20240 42 55 54 49 4e 47 2e 72 73 74 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 BUTING.rst......................
20260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
202a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
202c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
202e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
203a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
203c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
203e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20400 6e 65 74 77 6f 72 6b 69 6e 67 2d 6f 6e 6f 73 2f 64 6f 63 2f 73 6f 75 72 63 65 2f 69 6e 64 65 78 networking-onos/doc/source/index
20420 2e 72 73 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .rst............................
20440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20460 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000644.0001750.0001750.0000
20480 30 30 30 31 30 30 31 00 31 32 36 32 37 35 31 33 34 34 32 00 30 31 36 36 34 33 00 20 30 00 00 00 0001001.12627513442.016643..0...
204a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
204c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
204e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20500 00 75 73 74 61 72 20 20 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...onos...................
20520 00 00 00 00 00 00 00 00 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........onos...................
20540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
205a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
205c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
205e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20600 2e 2e 20 6e 65 74 77 6f 72 6b 69 6e 67 2d 6f 6e 6f 73 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e ...networking-onos.documentation
20620 20 6d 61 73 74 65 72 20 66 69 6c 65 2c 20 63 72 65 61 74 65 64 20 62 79 0a 20 20 20 73 70 68 69 .master.file,.created.by....sphi
20640 6e 78 2d 71 75 69 63 6b 73 74 61 72 74 20 6f 6e 20 54 75 65 20 4a 75 6c 20 20 39 20 32 32 3a 32 nx-quickstart.on.Tue.Jul..9.22:2
20660 36 3a 33 36 20 32 30 31 33 2e 0a 20 20 20 59 6f 75 20 63 61 6e 20 61 64 61 70 74 20 74 68 69 73 6:36.2013.....You.can.adapt.this
20680 20 66 69 6c 65 20 63 6f 6d 70 6c 65 74 65 6c 79 20 74 6f 20 79 6f 75 72 20 6c 69 6b 69 6e 67 2c .file.completely.to.your.liking,
206a0 20 62 75 74 20 69 74 20 73 68 6f 75 6c 64 20 61 74 20 6c 65 61 73 74 0a 20 20 20 63 6f 6e 74 61 .but.it.should.at.least....conta
206c0 69 6e 20 74 68 65 20 72 6f 6f 74 20 60 74 6f 63 74 72 65 65 60 20 64 69 72 65 63 74 69 76 65 2e in.the.root.`toctree`.directive.
206e0 0a 0a 57 65 6c 63 6f 6d 65 20 74 6f 20 6e 65 74 77 6f 72 6b 69 6e 67 2d 6f 6e 6f 73 27 73 20 64 ..Welcome.to.networking-onos's.d
20700 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 21 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ocumentation!.==================
20720 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================================
20740 3d 3d 3d 3d 3d 3d 0a 0a 43 6f 6e 74 65 6e 74 73 3a 0a 0a 2e 2e 20 74 6f 63 74 72 65 65 3a 3a 0a ======..Contents:.....toctree::.
20760 20 20 20 3a 6d 61 78 64 65 70 74 68 3a 20 32 0a 0a 20 20 20 72 65 61 64 6d 65 0a 20 20 20 69 6e ...:maxdepth:.2.....readme....in
20780 73 74 61 6c 6c 61 74 69 6f 6e 0a 20 20 20 75 73 61 67 65 0a 20 20 20 63 6f 6e 74 72 69 62 75 74 stallation....usage....contribut
207a0 69 6e 67 0a 0a 49 6e 64 69 63 65 73 20 61 6e 64 20 74 61 62 6c 65 73 0a 3d 3d 3d 3d 3d 3d 3d 3d ing..Indices.and.tables.========
207c0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 2a 20 3a 72 65 66 3a 60 67 65 6e 69 6e 64 65 78 60 0a 2a 20 ==========..*.:ref:`genindex`.*.
207e0 3a 72 65 66 3a 60 6d 6f 64 69 6e 64 65 78 60 0a 2a 20 3a 72 65 66 3a 60 73 65 61 72 63 68 60 0a :ref:`modindex`.*.:ref:`search`.
20800 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
208a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
208c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
208e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
209a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
209c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
209e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20a00 6e 65 74 77 6f 72 6b 69 6e 67 2d 6f 6e 6f 73 2f 64 6f 63 2f 73 6f 75 72 63 65 2f 75 73 61 67 65 networking-onos/doc/source/usage
20a20 2e 72 73 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .rst............................
20a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20a60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000644.0001750.0001750.0000
20a80 30 30 30 30 31 33 33 00 31 32 36 32 37 35 31 33 34 34 32 00 30 31 36 36 34 35 00 20 30 00 00 00 0000133.12627513442.016645..0...
20aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20b00 00 75 73 74 61 72 20 20 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...onos...................
20b20 00 00 00 00 00 00 00 00 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........onos...................
20b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20c00 3d 3d 3d 3d 3d 3d 3d 3d 0a 55 73 61 67 65 0a 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 54 6f 20 75 73 65 20 ========.Usage.========..To.use.
20c20 6e 65 74 77 6f 72 6b 69 6e 67 2d 6f 6e 6f 73 20 69 6e 20 61 20 70 72 6f 6a 65 63 74 3a 3a 0a 0a networking-onos.in.a.project::..
20c40 20 20 20 20 69 6d 70 6f 72 74 20 6e 65 74 77 6f 72 6b 69 6e 67 2d 6f 6e 6f 73 0a 00 00 00 00 00 ....import.networking-onos......
20c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20e00 6e 65 74 77 6f 72 6b 69 6e 67 2d 6f 6e 6f 73 2f 64 6f 63 2f 73 6f 75 72 63 65 2f 72 65 61 64 6d networking-onos/doc/source/readm
20e20 65 2e 72 73 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 e.rst...........................
20e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20e60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000644.0001750.0001750.0000
20e80 30 30 30 30 30 33 36 00 31 32 36 32 37 35 31 33 34 34 32 00 30 31 37 30 30 30 00 20 30 00 00 00 0000036.12627513442.017000..0...
20ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20f00 00 75 73 74 61 72 20 20 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...onos...................
20f20 00 00 00 00 00 00 00 00 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........onos...................
20f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21000 2e 2e 20 69 6e 63 6c 75 64 65 3a 3a 20 2e 2e 2f 2e 2e 2f 52 45 41 44 4d 45 2e 72 73 74 0a 00 00 ...include::.../../README.rst...
21020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
210a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
210c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
210e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
211a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
211c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
211e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21200 6e 65 74 77 6f 72 6b 69 6e 67 2d 6f 6e 6f 73 2f 64 6f 63 2f 73 6f 75 72 63 65 2f 63 6f 6e 66 2e networking-onos/doc/source/conf.
21220 70 79 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 py..............................
21240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21260 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000644.0001750.0001750.0000
21280 30 30 30 34 36 33 37 00 31 32 36 32 37 35 31 33 34 34 32 00 30 31 36 33 32 33 00 20 30 00 00 00 0004637.12627513442.016323..0...
212a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
212c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
212e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21300 00 75 73 74 61 72 20 20 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...onos...................
21320 00 00 00 00 00 00 00 00 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........onos...................
21340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
213a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
213c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
213e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21400 23 20 2d 2a 2d 20 63 6f 64 69 6e 67 3a 20 75 74 66 2d 38 20 2d 2a 2d 0a 23 20 4c 69 63 65 6e 73 #.-*-.coding:.utf-8.-*-.#.Licens
21420 65 64 20 75 6e 64 65 72 20 74 68 65 20 41 70 61 63 68 65 20 4c 69 63 65 6e 73 65 2c 20 56 65 72 ed.under.the.Apache.License,.Ver
21440 73 69 6f 6e 20 32 2e 30 20 28 74 68 65 20 22 4c 69 63 65 6e 73 65 22 29 3b 0a 23 20 79 6f 75 20 sion.2.0.(the."License");.#.you.
21460 6d 61 79 20 6e 6f 74 20 75 73 65 20 74 68 69 73 20 66 69 6c 65 20 65 78 63 65 70 74 20 69 6e 20 may.not.use.this.file.except.in.
21480 63 6f 6d 70 6c 69 61 6e 63 65 20 77 69 74 68 20 74 68 65 20 4c 69 63 65 6e 73 65 2e 0a 23 20 59 compliance.with.the.License..#.Y
214a0 6f 75 20 6d 61 79 20 6f 62 74 61 69 6e 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 4c 69 63 65 ou.may.obtain.a.copy.of.the.Lice
214c0 6e 73 65 20 61 74 0a 23 0a 23 20 20 20 20 68 74 74 70 3a 2f 2f 77 77 77 2e 61 70 61 63 68 65 2e nse.at.#.#....http://www.apache.
214e0 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 4c 49 43 45 4e 53 45 2d 32 2e 30 0a 23 0a 23 20 55 6e 6c org/licenses/LICENSE-2.0.#.#.Unl
21500 65 73 73 20 72 65 71 75 69 72 65 64 20 62 79 20 61 70 70 6c 69 63 61 62 6c 65 20 6c 61 77 20 6f ess.required.by.applicable.law.o
21520 72 20 61 67 72 65 65 64 20 74 6f 20 69 6e 20 77 72 69 74 69 6e 67 2c 20 73 6f 66 74 77 61 72 65 r.agreed.to.in.writing,.software
21540 0a 23 20 64 69 73 74 72 69 62 75 74 65 64 20 75 6e 64 65 72 20 74 68 65 20 4c 69 63 65 6e 73 65 .#.distributed.under.the.License
21560 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 6f 6e 20 61 6e 20 22 41 53 20 49 53 22 20 42 41 .is.distributed.on.an."AS.IS".BA
21580 53 49 53 2c 0a 23 20 57 49 54 48 4f 55 54 20 57 41 52 52 41 4e 54 49 45 53 20 4f 52 20 43 4f 4e SIS,.#.WITHOUT.WARRANTIES.OR.CON
215a0 44 49 54 49 4f 4e 53 20 4f 46 20 41 4e 59 20 4b 49 4e 44 2c 20 65 69 74 68 65 72 20 65 78 70 72 DITIONS.OF.ANY.KIND,.either.expr
215c0 65 73 73 20 6f 72 0a 23 20 69 6d 70 6c 69 65 64 2e 0a 23 20 53 65 65 20 74 68 65 20 4c 69 63 65 ess.or.#.implied..#.See.the.Lice
215e0 6e 73 65 20 66 6f 72 20 74 68 65 20 73 70 65 63 69 66 69 63 20 6c 61 6e 67 75 61 67 65 20 67 6f nse.for.the.specific.language.go
21600 76 65 72 6e 69 6e 67 20 70 65 72 6d 69 73 73 69 6f 6e 73 20 61 6e 64 0a 23 20 6c 69 6d 69 74 61 verning.permissions.and.#.limita
21620 74 69 6f 6e 73 20 75 6e 64 65 72 20 74 68 65 20 4c 69 63 65 6e 73 65 2e 0a 0a 69 6d 70 6f 72 74 tions.under.the.License...import
21640 20 6f 73 0a 69 6d 70 6f 72 74 20 73 79 73 0a 0a 73 79 73 2e 70 61 74 68 2e 69 6e 73 65 72 74 28 .os.import.sys..sys.path.insert(
21660 30 2c 20 6f 73 2e 70 61 74 68 2e 61 62 73 70 61 74 68 28 27 2e 2e 2f 2e 2e 27 29 29 0a 23 20 2d 0,.os.path.abspath('../..')).#.-
21680 2d 20 47 65 6e 65 72 61 6c 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 2d 2d 2d 2d 2d 2d 2d 2d -.General.configuration.--------
216a0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
216c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 23 20 41 64 64 20 61 6e 79 20 53 70 68 69 6e 78 20 65 ------------..#.Add.any.Sphinx.e
216e0 78 74 65 6e 73 69 6f 6e 20 6d 6f 64 75 6c 65 20 6e 61 6d 65 73 20 68 65 72 65 2c 20 61 73 20 73 xtension.module.names.here,.as.s
21700 74 72 69 6e 67 73 2e 20 54 68 65 79 20 63 61 6e 20 62 65 0a 23 20 65 78 74 65 6e 73 69 6f 6e 73 trings..They.can.be.#.extensions
21720 20 63 6f 6d 69 6e 67 20 77 69 74 68 20 53 70 68 69 6e 78 20 28 6e 61 6d 65 64 20 27 73 70 68 69 .coming.with.Sphinx.(named.'sphi
21740 6e 78 2e 65 78 74 2e 2a 27 29 20 6f 72 20 79 6f 75 72 20 63 75 73 74 6f 6d 20 6f 6e 65 73 2e 0a nx.ext.*').or.your.custom.ones..
21760 65 78 74 65 6e 73 69 6f 6e 73 20 3d 20 5b 0a 20 20 20 20 27 73 70 68 69 6e 78 2e 65 78 74 2e 61 extensions.=.[.....'sphinx.ext.a
21780 75 74 6f 64 6f 63 27 2c 0a 20 20 20 20 23 27 73 70 68 69 6e 78 2e 65 78 74 2e 69 6e 74 65 72 73 utodoc',.....#'sphinx.ext.inters
217a0 70 68 69 6e 78 27 2c 0a 20 20 20 20 27 6f 73 6c 6f 73 70 68 69 6e 78 27 0a 5d 0a 0a 23 20 61 75 phinx',.....'oslosphinx'.]..#.au
217c0 74 6f 64 6f 63 20 67 65 6e 65 72 61 74 69 6f 6e 20 69 73 20 61 20 62 69 74 20 61 67 67 72 65 73 todoc.generation.is.a.bit.aggres
217e0 73 69 76 65 20 61 6e 64 20 61 20 6e 75 69 73 61 6e 63 65 20 77 68 65 6e 20 64 6f 69 6e 67 20 68 sive.and.a.nuisance.when.doing.h
21800 65 61 76 79 0a 23 20 74 65 78 74 20 65 64 69 74 20 63 79 63 6c 65 73 2e 0a 23 20 65 78 65 63 75 eavy.#.text.edit.cycles..#.execu
21820 74 65 20 22 65 78 70 6f 72 74 20 53 50 48 49 4e 58 5f 44 45 42 55 47 3d 31 22 20 69 6e 20 79 6f te."export.SPHINX_DEBUG=1".in.yo
21840 75 72 20 74 65 72 6d 69 6e 61 6c 20 74 6f 20 64 69 73 61 62 6c 65 0a 0a 23 20 54 68 65 20 73 75 ur.terminal.to.disable..#.The.su
21860 66 66 69 78 20 6f 66 20 73 6f 75 72 63 65 20 66 69 6c 65 6e 61 6d 65 73 2e 0a 73 6f 75 72 63 65 ffix.of.source.filenames..source
21880 5f 73 75 66 66 69 78 20 3d 20 27 2e 72 73 74 27 0a 0a 23 20 54 68 65 20 6d 61 73 74 65 72 20 74 _suffix.=.'.rst'..#.The.master.t
218a0 6f 63 74 72 65 65 20 64 6f 63 75 6d 65 6e 74 2e 0a 6d 61 73 74 65 72 5f 64 6f 63 20 3d 20 27 69 octree.document..master_doc.=.'i
218c0 6e 64 65 78 27 0a 0a 23 20 47 65 6e 65 72 61 6c 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f ndex'..#.General.information.abo
218e0 75 74 20 74 68 65 20 70 72 6f 6a 65 63 74 2e 0a 70 72 6f 6a 65 63 74 20 3d 20 75 27 6e 65 74 77 ut.the.project..project.=.u'netw
21900 6f 72 6b 69 6e 67 2d 6f 6e 6f 73 27 0a 63 6f 70 79 72 69 67 68 74 20 3d 20 75 27 32 30 31 33 2c orking-onos'.copyright.=.u'2013,
21920 20 4f 70 65 6e 53 74 61 63 6b 20 46 6f 75 6e 64 61 74 69 6f 6e 27 0a 0a 23 20 49 66 20 74 72 75 .OpenStack.Foundation'..#.If.tru
21940 65 2c 20 27 28 29 27 20 77 69 6c 6c 20 62 65 20 61 70 70 65 6e 64 65 64 20 74 6f 20 3a 66 75 6e e,.'()'.will.be.appended.to.:fun
21960 63 3a 20 65 74 63 2e 20 63 72 6f 73 73 2d 72 65 66 65 72 65 6e 63 65 20 74 65 78 74 2e 0a 61 64 c:.etc..cross-reference.text..ad
21980 64 5f 66 75 6e 63 74 69 6f 6e 5f 70 61 72 65 6e 74 68 65 73 65 73 20 3d 20 54 72 75 65 0a 0a 23 d_function_parentheses.=.True..#
219a0 20 49 66 20 74 72 75 65 2c 20 74 68 65 20 63 75 72 72 65 6e 74 20 6d 6f 64 75 6c 65 20 6e 61 6d .If.true,.the.current.module.nam
219c0 65 20 77 69 6c 6c 20 62 65 20 70 72 65 70 65 6e 64 65 64 20 74 6f 20 61 6c 6c 20 64 65 73 63 72 e.will.be.prepended.to.all.descr
219e0 69 70 74 69 6f 6e 0a 23 20 75 6e 69 74 20 74 69 74 6c 65 73 20 28 73 75 63 68 20 61 73 20 2e 2e iption.#.unit.titles.(such.as...
21a00 20 66 75 6e 63 74 69 6f 6e 3a 3a 29 2e 0a 61 64 64 5f 6d 6f 64 75 6c 65 5f 6e 61 6d 65 73 20 3d .function::)..add_module_names.=
21a20 20 54 72 75 65 0a 0a 23 20 54 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 50 79 67 6d 65 6e 74 .True..#.The.name.of.the.Pygment
21a40 73 20 28 73 79 6e 74 61 78 20 68 69 67 68 6c 69 67 68 74 69 6e 67 29 20 73 74 79 6c 65 20 74 6f s.(syntax.highlighting).style.to
21a60 20 75 73 65 2e 0a 70 79 67 6d 65 6e 74 73 5f 73 74 79 6c 65 20 3d 20 27 73 70 68 69 6e 78 27 0a .use..pygments_style.=.'sphinx'.
21a80 0a 23 20 2d 2d 20 4f 70 74 69 6f 6e 73 20 66 6f 72 20 48 54 4d 4c 20 6f 75 74 70 75 74 20 2d 2d .#.--.Options.for.HTML.output.--
21aa0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
21ac0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 23 20 54 68 65 20 74 68 65 6d 65 20 74 6f ----------------..#.The.theme.to
21ae0 20 75 73 65 20 66 6f 72 20 48 54 4d 4c 20 61 6e 64 20 48 54 4d 4c 20 48 65 6c 70 20 70 61 67 65 .use.for.HTML.and.HTML.Help.page
21b00 73 2e 20 20 4d 61 6a 6f 72 20 74 68 65 6d 65 73 20 74 68 61 74 20 63 6f 6d 65 20 77 69 74 68 0a s...Major.themes.that.come.with.
21b20 23 20 53 70 68 69 6e 78 20 61 72 65 20 63 75 72 72 65 6e 74 6c 79 20 27 64 65 66 61 75 6c 74 27 #.Sphinx.are.currently.'default'
21b40 20 61 6e 64 20 27 73 70 68 69 6e 78 64 6f 63 27 2e 0a 23 20 68 74 6d 6c 5f 74 68 65 6d 65 5f 70 .and.'sphinxdoc'..#.html_theme_p
21b60 61 74 68 20 3d 20 5b 22 2e 22 5d 0a 23 20 68 74 6d 6c 5f 74 68 65 6d 65 20 3d 20 27 5f 74 68 65 ath.=.["."].#.html_theme.=.'_the
21b80 6d 65 27 0a 23 20 68 74 6d 6c 5f 73 74 61 74 69 63 5f 70 61 74 68 20 3d 20 5b 27 73 74 61 74 69 me'.#.html_static_path.=.['stati
21ba0 63 27 5d 0a 0a 23 20 4f 75 74 70 75 74 20 66 69 6c 65 20 62 61 73 65 20 6e 61 6d 65 20 66 6f 72 c']..#.Output.file.base.name.for
21bc0 20 48 54 4d 4c 20 68 65 6c 70 20 62 75 69 6c 64 65 72 2e 0a 68 74 6d 6c 68 65 6c 70 5f 62 61 73 .HTML.help.builder..htmlhelp_bas
21be0 65 6e 61 6d 65 20 3d 20 27 25 73 64 6f 63 27 20 25 20 70 72 6f 6a 65 63 74 0a 0a 23 20 47 72 6f ename.=.'%sdoc'.%.project..#.Gro
21c00 75 70 69 6e 67 20 74 68 65 20 64 6f 63 75 6d 65 6e 74 20 74 72 65 65 20 69 6e 74 6f 20 4c 61 54 uping.the.document.tree.into.LaT
21c20 65 58 20 66 69 6c 65 73 2e 20 4c 69 73 74 20 6f 66 20 74 75 70 6c 65 73 0a 23 20 28 73 6f 75 72 eX.files..List.of.tuples.#.(sour
21c40 63 65 20 73 74 61 72 74 20 66 69 6c 65 2c 20 74 61 72 67 65 74 20 6e 61 6d 65 2c 20 74 69 74 6c ce.start.file,.target.name,.titl
21c60 65 2c 20 61 75 74 68 6f 72 2c 20 64 6f 63 75 6d 65 6e 74 63 6c 61 73 73 0a 23 20 5b 68 6f 77 74 e,.author,.documentclass.#.[howt
21c80 6f 2f 6d 61 6e 75 61 6c 5d 29 2e 0a 6c 61 74 65 78 5f 64 6f 63 75 6d 65 6e 74 73 20 3d 20 5b 0a o/manual])..latex_documents.=.[.
21ca0 20 20 20 20 28 27 69 6e 64 65 78 27 2c 0a 20 20 20 20 20 27 25 73 2e 74 65 78 27 20 25 20 70 72 ....('index',......'%s.tex'.%.pr
21cc0 6f 6a 65 63 74 2c 0a 20 20 20 20 20 75 27 25 73 20 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 27 20 oject,......u'%s.Documentation'.
21ce0 25 20 70 72 6f 6a 65 63 74 2c 0a 20 20 20 20 20 75 27 4f 70 65 6e 53 74 61 63 6b 20 46 6f 75 6e %.project,......u'OpenStack.Foun
21d00 64 61 74 69 6f 6e 27 2c 20 27 6d 61 6e 75 61 6c 27 29 2c 0a 5d 0a 0a 23 20 45 78 61 6d 70 6c 65 dation',.'manual'),.]..#.Example
21d20 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 66 6f 72 20 69 6e 74 65 72 73 70 68 69 6e 78 3a 20 .configuration.for.intersphinx:.
21d40 72 65 66 65 72 20 74 6f 20 74 68 65 20 50 79 74 68 6f 6e 20 73 74 61 6e 64 61 72 64 20 6c 69 62 refer.to.the.Python.standard.lib
21d60 72 61 72 79 2e 0a 23 69 6e 74 65 72 73 70 68 69 6e 78 5f 6d 61 70 70 69 6e 67 20 3d 20 7b 27 68 rary..#intersphinx_mapping.=.{'h
21d80 74 74 70 3a 2f 2f 64 6f 63 73 2e 70 79 74 68 6f 6e 2e 6f 72 67 2f 27 3a 20 4e 6f 6e 65 7d 0a 00 ttp://docs.python.org/':.None}..
21da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21e00 6e 65 74 77 6f 72 6b 69 6e 67 2d 6f 6e 6f 73 2f 54 45 53 54 49 4e 47 2e 72 73 74 00 00 00 00 00 networking-onos/TESTING.rst.....
21e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21e60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000644.0001750.0001750.0000
21e80 30 30 31 32 32 31 32 00 31 32 36 32 37 35 31 33 34 34 32 00 30 31 34 36 31 32 00 20 30 00 00 00 0012212.12627513442.014612..0...
21ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21f00 00 75 73 74 61 72 20 20 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...onos...................
21f20 00 00 00 00 00 00 00 00 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........onos...................
21f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22000 54 65 73 74 69 6e 67 20 4e 65 75 74 72 6f 6e 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a Testing.Neutron.===============.
22020 0a 4f 76 65 72 76 69 65 77 0a 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 54 68 65 20 75 6e 69 74 20 74 65 73 .Overview.--------..The.unit.tes
22040 74 73 20 28 6e 65 75 74 72 6f 6e 2f 74 65 73 74 2f 75 6e 69 74 2f 29 20 61 72 65 20 6d 65 61 6e ts.(neutron/test/unit/).are.mean
22060 74 20 74 6f 20 63 6f 76 65 72 20 61 73 20 6d 75 63 68 20 63 6f 64 65 20 61 73 0a 70 6f 73 73 69 t.to.cover.as.much.code.as.possi
22080 62 6c 65 20 61 6e 64 20 73 68 6f 75 6c 64 20 62 65 20 65 78 65 63 75 74 65 64 20 77 69 74 68 6f ble.and.should.be.executed.witho
220a0 75 74 20 74 68 65 20 73 65 72 76 69 63 65 20 72 75 6e 6e 69 6e 67 2e 20 54 68 65 79 20 61 72 65 ut.the.service.running..They.are
220c0 0a 64 65 73 69 67 6e 65 64 20 74 6f 20 74 65 73 74 20 74 68 65 20 76 61 72 69 6f 75 73 20 70 69 .designed.to.test.the.various.pi
220e0 65 63 65 73 20 6f 66 20 74 68 65 20 6e 65 75 74 72 6f 6e 20 74 72 65 65 20 74 6f 20 6d 61 6b 65 eces.of.the.neutron.tree.to.make
22100 20 73 75 72 65 0a 61 6e 79 20 6e 65 77 20 63 68 61 6e 67 65 73 20 64 6f 6e 27 74 20 62 72 65 61 .sure.any.new.changes.don't.brea
22120 6b 20 65 78 69 73 74 69 6e 67 20 66 75 6e 63 74 69 6f 6e 61 6c 69 74 79 2e 0a 0a 54 68 65 20 66 k.existing.functionality...The.f
22140 75 6e 63 74 69 6f 6e 61 6c 20 74 65 73 74 73 20 28 6e 65 75 74 72 6f 6e 2f 74 65 73 74 73 2f 66 unctional.tests.(neutron/tests/f
22160 75 6e 63 74 69 6f 6e 61 6c 2f 29 20 61 72 65 20 69 6e 74 65 6e 64 65 64 20 74 6f 0a 76 61 6c 69 unctional/).are.intended.to.vali
22180 64 61 74 65 20 61 63 74 75 61 6c 20 73 79 73 74 65 6d 20 69 6e 74 65 72 61 63 74 69 6f 6e 2e 20 date.actual.system.interaction..
221a0 20 4d 6f 63 6b 73 20 73 68 6f 75 6c 64 20 62 65 20 75 73 65 64 20 73 70 61 72 69 6e 67 6c 79 2c .Mocks.should.be.used.sparingly,
221c0 0a 69 66 20 61 74 20 61 6c 6c 2e 20 20 43 61 72 65 20 73 68 6f 75 6c 64 20 62 65 20 74 61 6b 65 .if.at.all...Care.should.be.take
221e0 6e 20 74 6f 20 65 6e 73 75 72 65 20 74 68 61 74 20 65 78 69 73 74 69 6e 67 20 73 79 73 74 65 6d n.to.ensure.that.existing.system
22200 0a 72 65 73 6f 75 72 63 65 73 20 61 72 65 20 6e 6f 74 20 6d 6f 64 69 66 69 65 64 20 61 6e 64 20 .resources.are.not.modified.and.
22220 74 68 61 74 20 72 65 73 6f 75 72 63 65 73 20 63 72 65 61 74 65 64 20 69 6e 20 74 65 73 74 73 20 that.resources.created.in.tests.
22240 61 72 65 0a 70 72 6f 70 65 72 6c 79 20 63 6c 65 61 6e 65 64 20 75 70 2e 0a 0a 44 65 76 65 6c 6f are.properly.cleaned.up...Develo
22260 70 6d 65 6e 74 20 70 72 6f 63 65 73 73 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d pment.process.------------------
22280 2d 0a 0a 49 74 20 69 73 20 65 78 70 65 63 74 65 64 20 74 68 61 74 20 61 6e 79 20 6e 65 77 20 63 -..It.is.expected.that.any.new.c
222a0 68 61 6e 67 65 73 20 74 68 61 74 20 61 72 65 20 70 72 6f 70 6f 73 65 64 20 66 6f 72 20 6d 65 72 hanges.that.are.proposed.for.mer
222c0 67 65 0a 63 6f 6d 65 20 77 69 74 68 20 74 65 73 74 73 20 66 6f 72 20 74 68 61 74 20 66 65 61 74 ge.come.with.tests.for.that.feat
222e0 75 72 65 20 6f 72 20 63 6f 64 65 20 61 72 65 61 2e 20 49 64 65 61 6c 6c 79 20 61 6e 79 20 62 75 ure.or.code.area..Ideally.any.bu
22300 67 73 0a 66 69 78 65 73 20 74 68 61 74 20 61 72 65 20 73 75 62 6d 69 74 74 65 64 20 61 6c 73 6f gs.fixes.that.are.submitted.also
22320 20 68 61 76 65 20 74 65 73 74 73 20 74 6f 20 70 72 6f 76 65 20 74 68 61 74 20 74 68 65 79 20 73 .have.tests.to.prove.that.they.s
22340 74 61 79 0a 66 69 78 65 64 21 20 20 49 6e 20 61 64 64 69 74 69 6f 6e 2c 20 62 65 66 6f 72 65 20 tay.fixed!..In.addition,.before.
22360 70 72 6f 70 6f 73 69 6e 67 20 66 6f 72 20 6d 65 72 67 65 2c 20 61 6c 6c 20 6f 66 20 74 68 65 0a proposing.for.merge,.all.of.the.
22380 63 75 72 72 65 6e 74 20 74 65 73 74 73 20 73 68 6f 75 6c 64 20 62 65 20 70 61 73 73 69 6e 67 2e current.tests.should.be.passing.
223a0 0a 0a 56 69 72 74 75 61 6c 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 73 0a 7e 7e 7e 7e 7e 7e 7e 7e 7e ..Virtual.environments.~~~~~~~~~
223c0 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 0a 0a 54 65 73 74 69 6e 67 20 4f 70 65 6e 53 74 61 63 6b 20 70 ~~~~~~~~~~~..Testing.OpenStack.p
223e0 72 6f 6a 65 63 74 73 2c 20 69 6e 63 6c 75 64 69 6e 67 20 4e 65 75 74 72 6f 6e 2c 20 69 73 20 6d rojects,.including.Neutron,.is.m
22400 61 64 65 20 65 61 73 69 65 72 20 77 69 74 68 20 60 44 65 76 53 74 61 63 6b 20 3c 68 74 74 70 73 ade.easier.with.`DevStack.<https
22420 3a 2f 2f 67 69 74 2e 6f 70 65 6e 73 74 61 63 6b 2e 6f 72 67 2f 63 67 69 74 2f 6f 70 65 6e 73 74 ://git.openstack.org/cgit/openst
22440 61 63 6b 2d 64 65 76 2f 64 65 76 73 74 61 63 6b 3e 60 5f 2e 0a 0a 43 72 65 61 74 65 20 61 20 6d ack-dev/devstack>`_...Create.a.m
22460 61 63 68 69 6e 65 20 28 73 75 63 68 20 61 73 20 61 20 56 4d 20 6f 72 20 56 61 67 72 61 6e 74 20 achine.(such.as.a.VM.or.Vagrant.
22480 62 6f 78 29 20 72 75 6e 6e 69 6e 67 20 61 20 64 69 73 74 72 69 62 75 74 69 6f 6e 20 73 75 70 70 box).running.a.distribution.supp
224a0 6f 72 74 65 64 0a 62 79 20 44 65 76 53 74 61 63 6b 20 61 6e 64 20 69 6e 73 74 61 6c 6c 20 44 65 orted.by.DevStack.and.install.De
224c0 76 53 74 61 63 6b 20 74 68 65 72 65 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 74 68 65 72 65 vStack.there..For.example,.there
224e0 20 69 73 20 61 20 56 61 67 72 61 6e 74 20 73 63 72 69 70 74 0a 66 6f 72 20 44 65 76 53 74 61 63 .is.a.Vagrant.script.for.DevStac
22500 6b 20 61 74 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 62 63 77 61 6c 64 6f 6e k.at.https://github.com/bcwaldon
22520 2f 76 61 67 72 61 6e 74 5f 64 65 76 73 74 61 63 6b 2e 0a 0a 20 2e 2e 20 6e 6f 74 65 3a 3a 0a 0a /vagrant_devstack.......note::..
22540 20 20 20 20 49 66 20 79 6f 75 20 70 72 65 66 65 72 20 6e 6f 74 20 74 6f 20 75 73 65 20 44 65 76 ....If.you.prefer.not.to.use.Dev
22560 53 74 61 63 6b 2c 20 79 6f 75 20 63 61 6e 20 73 74 69 6c 6c 20 63 68 65 63 6b 20 6f 75 74 20 73 Stack,.you.can.still.check.out.s
22580 6f 75 72 63 65 20 63 6f 64 65 20 6f 6e 20 79 6f 75 72 20 6c 6f 63 61 6c 0a 20 20 20 20 6d 61 63 ource.code.on.your.local.....mac
225a0 68 69 6e 65 20 61 6e 64 20 64 65 76 65 6c 6f 70 20 66 72 6f 6d 20 74 68 65 72 65 2e 0a 0a 0a 52 hine.and.develop.from.there....R
225c0 75 6e 6e 69 6e 67 20 75 6e 69 74 20 74 65 73 74 73 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d unning.unit.tests.--------------
225e0 2d 2d 2d 2d 0a 0a 54 68 65 72 65 20 61 72 65 20 74 77 6f 20 6d 65 63 68 61 6e 69 73 6d 73 20 66 ----..There.are.two.mechanisms.f
22600 6f 72 20 72 75 6e 6e 69 6e 67 20 74 65 73 74 73 3a 20 74 6f 78 2c 20 61 6e 64 20 6e 6f 73 65 2e or.running.tests:.tox,.and.nose.
22620 20 42 65 66 6f 72 65 20 73 75 62 6d 69 74 74 69 6e 67 0a 61 20 70 61 74 63 68 20 66 6f 72 20 72 .Before.submitting.a.patch.for.r
22640 65 76 69 65 77 20 79 6f 75 20 73 68 6f 75 6c 64 20 61 6c 77 61 79 73 20 65 6e 73 75 72 65 20 61 eview.you.should.always.ensure.a
22660 6c 6c 20 74 65 73 74 20 70 61 73 73 3b 20 61 20 74 6f 78 20 72 75 6e 20 69 73 0a 74 72 69 67 67 ll.test.pass;.a.tox.run.is.trigg
22680 65 72 65 64 20 62 79 20 74 68 65 20 6a 65 6e 6b 69 6e 73 20 67 61 74 65 20 65 78 65 63 75 74 65 ered.by.the.jenkins.gate.execute
226a0 64 20 6f 6e 20 67 65 72 72 69 74 20 66 6f 72 20 65 61 63 68 20 70 61 74 63 68 20 70 75 73 68 65 d.on.gerrit.for.each.patch.pushe
226c0 64 20 66 6f 72 0a 72 65 76 69 65 77 2e 0a 0a 57 69 74 68 20 74 68 65 73 65 20 6d 65 63 68 61 6e d.for.review...With.these.mechan
226e0 69 73 6d 73 20 79 6f 75 20 63 61 6e 20 65 69 74 68 65 72 20 72 75 6e 20 74 68 65 20 74 65 73 74 isms.you.can.either.run.the.test
22700 73 20 69 6e 20 74 68 65 20 73 74 61 6e 64 61 72 64 0a 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 6f 72 s.in.the.standard.environment.or
22720 20 63 72 65 61 74 65 20 61 20 76 69 72 74 75 61 6c 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 74 6f .create.a.virtual.environment.to
22740 20 72 75 6e 20 74 68 65 6d 20 69 6e 2e 0a 0a 42 79 20 64 65 66 61 75 6c 74 20 61 66 74 65 72 20 .run.them.in...By.default.after.
22760 72 75 6e 6e 69 6e 67 20 61 6c 6c 20 6f 66 20 74 68 65 20 74 65 73 74 73 2c 20 61 6e 79 20 70 65 running.all.of.the.tests,.any.pe
22780 70 38 20 65 72 72 6f 72 73 0a 66 6f 75 6e 64 20 69 6e 20 74 68 65 20 74 72 65 65 20 77 69 6c 6c p8.errors.found.in.the.tree.will
227a0 20 62 65 20 72 65 70 6f 72 74 65 64 2e 0a 0a 0a 57 69 74 68 20 60 6e 6f 73 65 60 0a 7e 7e 7e 7e .be.reported....With.`nose`.~~~~
227c0 7e 7e 7e 7e 7e 7e 7e 0a 0a 59 6f 75 20 63 61 6e 20 75 73 65 20 60 6e 6f 73 65 60 5f 20 74 6f 20 ~~~~~~~..You.can.use.`nose`_.to.
227e0 72 75 6e 20 69 6e 64 69 76 69 64 75 61 6c 20 74 65 73 74 73 2c 20 61 73 20 77 65 6c 6c 20 61 73 run.individual.tests,.as.well.as
22800 20 75 73 65 20 66 6f 72 20 64 65 62 75 67 67 69 6e 67 0a 70 6f 72 74 69 6f 6e 73 20 6f 66 20 79 .use.for.debugging.portions.of.y
22820 6f 75 72 20 63 6f 64 65 3a 3a 0a 0a 20 20 20 20 73 6f 75 72 63 65 20 2e 76 65 6e 76 2f 62 69 6e our.code::......source..venv/bin
22840 2f 61 63 74 69 76 61 74 65 0a 20 20 20 20 70 69 70 20 69 6e 73 74 61 6c 6c 20 6e 6f 73 65 0a 20 /activate.....pip.install.nose..
22860 20 20 20 6e 6f 73 65 74 65 73 74 73 0a 0a 54 68 65 72 65 20 61 72 65 20 64 69 73 61 64 76 61 6e ...nosetests..There.are.disadvan
22880 74 61 67 65 73 20 74 6f 20 72 75 6e 6e 69 6e 67 20 4e 6f 73 65 20 2d 20 74 68 65 20 74 65 73 74 tages.to.running.Nose.-.the.test
228a0 73 20 61 72 65 20 72 75 6e 20 73 65 71 75 65 6e 74 69 61 6c 6c 79 2c 20 73 6f 0a 72 61 63 65 20 s.are.run.sequentially,.so.race.
228c0 63 6f 6e 64 69 74 69 6f 6e 20 62 75 67 73 20 77 69 6c 6c 20 6e 6f 74 20 62 65 20 74 72 69 67 67 condition.bugs.will.not.be.trigg
228e0 65 72 65 64 2c 20 61 6e 64 20 74 68 65 20 66 75 6c 6c 20 74 65 73 74 20 73 75 69 74 65 20 77 69 ered,.and.the.full.test.suite.wi
22900 6c 6c 0a 74 61 6b 65 20 73 69 67 6e 69 66 69 63 61 6e 74 6c 79 20 6c 6f 6e 67 65 72 20 74 68 61 ll.take.significantly.longer.tha
22920 6e 20 74 6f 78 20 26 20 74 65 73 74 72 2e 20 54 68 65 20 75 70 73 69 64 65 20 69 73 20 74 68 61 n.tox.&.testr..The.upside.is.tha
22940 74 20 74 65 73 74 72 20 68 61 73 0a 73 6f 6d 65 20 72 6f 75 67 68 20 65 64 67 65 73 20 77 68 65 t.testr.has.some.rough.edges.whe
22960 6e 20 69 74 20 63 6f 6d 65 73 20 74 6f 20 64 69 61 67 6e 6f 73 69 6e 67 20 65 72 72 6f 72 73 20 n.it.comes.to.diagnosing.errors.
22980 61 6e 64 20 66 61 69 6c 75 72 65 73 2c 20 61 6e 64 20 74 68 65 72 65 20 69 73 0a 6e 6f 20 65 61 and.failures,.and.there.is.no.ea
229a0 73 79 20 77 61 79 20 74 6f 20 73 65 74 20 61 20 62 72 65 61 6b 70 6f 69 6e 74 20 69 6e 20 74 68 sy.way.to.set.a.breakpoint.in.th
229c0 65 20 4e 65 75 74 72 6f 6e 20 63 6f 64 65 2c 20 61 6e 64 20 65 6e 74 65 72 20 61 6e 0a 69 6e 74 e.Neutron.code,.and.enter.an.int
229e0 65 72 61 63 74 69 76 65 20 64 65 62 75 67 67 69 6e 67 20 73 65 73 73 69 6f 6e 20 77 68 69 6c 65 eractive.debugging.session.while
22a00 20 75 73 69 6e 67 20 74 65 73 74 72 2e 0a 0a 2e 2e 20 5f 6e 6f 73 65 3a 20 68 74 74 70 73 3a 2f .using.testr......_nose:.https:/
22a20 2f 6e 6f 73 65 2e 72 65 61 64 74 68 65 64 6f 63 73 2e 6f 72 67 2f 65 6e 2f 6c 61 74 65 73 74 2f /nose.readthedocs.org/en/latest/
22a40 69 6e 64 65 78 2e 68 74 6d 6c 0a 0a 57 69 74 68 20 60 74 6f 78 60 0a 7e 7e 7e 7e 7e 7e 7e 7e 7e index.html..With.`tox`.~~~~~~~~~
22a60 7e 0a 0a 4e 65 75 74 72 6f 6e 2c 20 6c 69 6b 65 20 6f 74 68 65 72 20 4f 70 65 6e 53 74 61 63 6b ~..Neutron,.like.other.OpenStack
22a80 20 70 72 6f 6a 65 63 74 73 2c 20 75 73 65 73 20 60 74 6f 78 60 5f 20 66 6f 72 20 6d 61 6e 61 67 .projects,.uses.`tox`_.for.manag
22aa0 69 6e 67 20 74 68 65 20 76 69 72 74 75 61 6c 0a 65 6e 76 69 72 6f 6e 6d 65 6e 74 73 20 66 6f 72 ing.the.virtual.environments.for
22ac0 20 72 75 6e 6e 69 6e 67 20 74 65 73 74 20 63 61 73 65 73 2e 20 49 74 20 75 73 65 73 20 60 54 65 .running.test.cases..It.uses.`Te
22ae0 73 74 72 60 5f 20 66 6f 72 20 6d 61 6e 61 67 69 6e 67 20 74 68 65 20 72 75 6e 6e 69 6e 67 0a 6f str`_.for.managing.the.running.o
22b00 66 20 74 68 65 20 74 65 73 74 20 63 61 73 65 73 2e 0a 0a 54 6f 78 20 68 61 6e 64 6c 65 73 20 74 f.the.test.cases...Tox.handles.t
22b20 68 65 20 63 72 65 61 74 69 6f 6e 20 6f 66 20 61 20 73 65 72 69 65 73 20 6f 66 20 60 76 69 72 74 he.creation.of.a.series.of.`virt
22b40 75 61 6c 65 6e 76 73 60 5f 20 74 68 61 74 20 74 61 72 67 65 74 20 73 70 65 63 69 66 69 63 0a 76 ualenvs`_.that.target.specific.v
22b60 65 72 73 69 6f 6e 73 20 6f 66 20 50 79 74 68 6f 6e 20 28 32 2e 36 2c 20 32 2e 37 2c 20 33 2e 33 ersions.of.Python.(2.6,.2.7,.3.3
22b80 2c 20 65 74 63 29 2e 0a 0a 54 65 73 74 72 20 68 61 6e 64 6c 65 73 20 74 68 65 20 70 61 72 61 6c ,.etc)...Testr.handles.the.paral
22ba0 6c 65 6c 20 65 78 65 63 75 74 69 6f 6e 20 6f 66 20 73 65 72 69 65 73 20 6f 66 20 74 65 73 74 20 lel.execution.of.series.of.test.
22bc0 63 61 73 65 73 20 61 73 20 77 65 6c 6c 20 61 73 0a 74 68 65 20 74 72 61 63 6b 69 6e 67 20 6f 66 cases.as.well.as.the.tracking.of
22be0 20 6c 6f 6e 67 2d 72 75 6e 6e 69 6e 67 20 74 65 73 74 73 20 61 6e 64 20 6f 74 68 65 72 20 74 68 .long-running.tests.and.other.th
22c00 69 6e 67 73 2e 0a 0a 52 75 6e 6e 69 6e 67 20 75 6e 69 74 20 74 65 73 74 73 20 69 73 20 61 73 20 ings...Running.unit.tests.is.as.
22c20 65 61 73 79 20 61 73 20 65 78 65 63 75 74 69 6e 67 20 74 68 69 73 20 69 6e 20 74 68 65 20 72 6f easy.as.executing.this.in.the.ro
22c40 6f 74 20 64 69 72 65 63 74 6f 72 79 20 6f 66 20 74 68 65 0a 4e 65 75 74 72 6f 6e 20 73 6f 75 72 ot.directory.of.the.Neutron.sour
22c60 63 65 20 63 6f 64 65 3a 3a 0a 0a 20 20 20 20 74 6f 78 0a 0a 46 6f 72 20 6d 6f 72 65 20 69 6e 66 ce.code::......tox..For.more.inf
22c80 6f 72 6d 61 74 69 6f 6e 20 6f 6e 20 74 68 65 20 73 74 61 6e 64 61 72 64 20 54 6f 78 2d 62 61 73 ormation.on.the.standard.Tox-bas
22ca0 65 64 20 74 65 73 74 20 69 6e 66 72 61 73 74 72 75 63 74 75 72 65 20 75 73 65 64 20 62 79 0a 4f ed.test.infrastructure.used.by.O
22cc0 70 65 6e 53 74 61 63 6b 20 61 6e 64 20 68 6f 77 20 74 6f 20 64 6f 20 73 6f 6d 65 20 63 6f 6d 6d penStack.and.how.to.do.some.comm
22ce0 6f 6e 20 74 65 73 74 2f 64 65 62 75 67 67 69 6e 67 20 70 72 6f 63 65 64 75 72 65 73 20 77 69 74 on.test/debugging.procedures.wit
22d00 68 20 54 65 73 74 72 2c 0a 73 65 65 20 74 68 69 73 20 77 69 6b 69 20 70 61 67 65 3a 0a 0a 20 20 h.Testr,.see.this.wiki.page:....
22d20 68 74 74 70 73 3a 2f 2f 77 69 6b 69 2e 6f 70 65 6e 73 74 61 63 6b 2e 6f 72 67 2f 77 69 6b 69 2f https://wiki.openstack.org/wiki/
22d40 54 65 73 74 72 0a 0a 2e 2e 20 5f 54 65 73 74 72 3a 20 68 74 74 70 73 3a 2f 2f 77 69 6b 69 2e 6f Testr....._Testr:.https://wiki.o
22d60 70 65 6e 73 74 61 63 6b 2e 6f 72 67 2f 77 69 6b 69 2f 54 65 73 74 72 0a 2e 2e 20 5f 74 6f 78 3a penstack.org/wiki/Testr...._tox:
22d80 20 68 74 74 70 3a 2f 2f 74 6f 78 2e 72 65 61 64 74 68 65 64 6f 63 73 2e 6f 72 67 2f 65 6e 2f 6c .http://tox.readthedocs.org/en/l
22da0 61 74 65 73 74 2f 0a 2e 2e 20 5f 76 69 72 74 75 61 6c 65 6e 76 73 3a 20 68 74 74 70 73 3a 2f 2f atest/...._virtualenvs:.https://
22dc0 70 79 70 69 2e 70 79 74 68 6f 6e 2e 6f 72 67 2f 70 79 70 69 2f 76 69 72 74 75 61 6c 65 6e 76 0a pypi.python.org/pypi/virtualenv.
22de0 0a 0a 52 75 6e 6e 69 6e 67 20 69 6e 64 69 76 69 64 75 61 6c 20 74 65 73 74 73 0a 7e 7e 7e 7e 7e ..Running.individual.tests.~~~~~
22e00 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 0a 0a 46 6f 72 20 72 75 6e 6e 69 6e 67 ~~~~~~~~~~~~~~~~~~~..For.running
22e20 20 69 6e 64 69 76 69 64 75 61 6c 20 74 65 73 74 20 6d 6f 64 75 6c 65 73 20 6f 72 20 63 61 73 65 .individual.test.modules.or.case
22e40 73 2c 20 79 6f 75 20 6a 75 73 74 20 6e 65 65 64 20 74 6f 20 70 61 73 73 0a 74 68 65 20 64 6f 74 s,.you.just.need.to.pass.the.dot
22e60 2d 73 65 70 61 72 61 74 65 64 20 70 61 74 68 20 74 6f 20 74 68 65 20 6d 6f 64 75 6c 65 20 79 6f -separated.path.to.the.module.yo
22e80 75 20 77 61 6e 74 20 61 73 20 61 6e 20 61 72 67 75 6d 65 6e 74 20 74 6f 20 69 74 2e 0a 0a 46 6f u.want.as.an.argument.to.it...Fo
22ea0 72 20 65 78 65 63 75 74 69 6e 67 20 61 20 73 70 65 63 69 66 69 63 20 74 65 73 74 20 63 61 73 65 r.executing.a.specific.test.case
22ec0 2c 20 73 70 65 63 69 66 79 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 74 65 73 74 20 63 ,.specify.the.name.of.the.test.c
22ee0 61 73 65 0a 63 6c 61 73 73 20 73 65 70 61 72 61 74 69 6e 67 20 69 74 20 66 72 6f 6d 20 74 68 65 ase.class.separating.it.from.the
22f00 20 6d 6f 64 75 6c 65 20 70 61 74 68 20 77 69 74 68 20 61 20 63 6f 6c 6f 6e 2e 0a 0a 46 6f 72 20 .module.path.with.a.colon...For.
22f20 65 78 61 6d 70 6c 65 2c 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 77 6f 75 6c 64 20 72 75 6e example,.the.following.would.run
22f40 20 6f 6e 6c 79 20 74 68 65 20 4a 53 4f 4e 56 32 54 65 73 74 43 61 73 65 20 74 65 73 74 73 20 66 .only.the.JSONV2TestCase.tests.f
22f60 72 6f 6d 0a 6e 65 75 74 72 6f 6e 2f 74 65 73 74 73 2f 75 6e 69 74 2f 74 65 73 74 5f 61 70 69 5f rom.neutron/tests/unit/test_api_
22f80 76 32 2e 70 79 3a 3a 0a 0a 20 20 20 20 20 20 24 20 74 6f 78 20 2d 65 20 70 79 32 37 20 6e 65 75 v2.py::........$.tox.-e.py27.neu
22fa0 74 72 6f 6e 2e 74 65 73 74 73 2e 75 6e 69 74 2e 74 65 73 74 5f 61 70 69 5f 76 32 2e 4a 53 4f 4e tron.tests.unit.test_api_v2.JSON
22fc0 56 32 54 65 73 74 43 61 73 65 0a 0a 41 64 64 69 6e 67 20 6d 6f 72 65 20 74 65 73 74 73 0a 7e 7e V2TestCase..Adding.more.tests.~~
22fe0 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 0a 0a 4e 65 75 74 72 6f 6e 20 68 61 73 20 61 20 66 ~~~~~~~~~~~~~~~..Neutron.has.a.f
23000 61 73 74 20 67 72 6f 77 69 6e 67 20 63 6f 64 65 20 62 61 73 65 20 61 6e 64 20 74 68 65 72 65 20 ast.growing.code.base.and.there.
23020 69 73 20 70 6c 65 6e 74 79 20 6f 66 20 61 72 65 61 73 20 74 68 61 74 0a 6e 65 65 64 20 74 6f 20 is.plenty.of.areas.that.need.to.
23040 62 65 20 63 6f 76 65 72 65 64 20 62 79 20 75 6e 69 74 20 61 6e 64 20 66 75 6e 63 74 69 6f 6e 61 be.covered.by.unit.and.functiona
23060 6c 20 74 65 73 74 73 2e 0a 0a 54 6f 20 67 65 74 20 61 20 67 72 61 73 70 20 6f 66 20 74 68 65 20 l.tests...To.get.a.grasp.of.the.
23080 61 72 65 61 73 20 77 68 65 72 65 20 74 65 73 74 73 20 61 72 65 20 6e 65 65 64 65 64 2c 20 79 6f areas.where.tests.are.needed,.yo
230a0 75 20 63 61 6e 20 63 68 65 63 6b 0a 63 75 72 72 65 6e 74 20 63 6f 76 65 72 61 67 65 20 62 79 20 u.can.check.current.coverage.by.
230c0 72 75 6e 6e 69 6e 67 3a 3a 0a 0a 20 20 20 20 24 20 74 6f 78 20 2d 65 63 6f 76 65 72 0a 0a 44 65 running::......$.tox.-ecover..De
230e0 62 75 67 67 69 6e 67 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 49 74 27 73 20 70 6f 73 73 69 62 6c 65 bugging.---------..It's.possible
23100 20 74 6f 20 64 65 62 75 67 20 74 65 73 74 73 20 69 6e 20 61 20 74 6f 78 20 65 6e 76 69 72 6f 6e .to.debug.tests.in.a.tox.environ
23120 6d 65 6e 74 3a 3a 0a 0a 20 20 20 20 24 20 74 6f 78 20 2d 65 20 76 65 6e 76 20 2d 2d 20 70 79 74 ment::......$.tox.-e.venv.--.pyt
23140 68 6f 6e 20 2d 6d 20 74 65 73 74 74 6f 6f 6c 73 2e 72 75 6e 20 5b 74 65 73 74 20 6d 6f 64 75 6c hon.-m.testtools.run.[test.modul
23160 65 20 70 61 74 68 5d 0a 0a 54 6f 78 2d 63 72 65 61 74 65 64 20 76 69 72 74 75 61 6c 20 65 6e 76 e.path]..Tox-created.virtual.env
23180 69 72 6f 6e 6d 65 6e 74 73 20 28 76 65 6e 76 27 73 29 20 63 61 6e 20 61 6c 73 6f 20 62 65 20 61 ironments.(venv's).can.also.be.a
231a0 63 74 69 76 61 74 65 64 0a 61 66 74 65 72 20 61 20 74 6f 78 20 72 75 6e 20 61 6e 64 20 72 65 75 ctivated.after.a.tox.run.and.reu
231c0 73 65 64 20 66 6f 72 20 64 65 62 75 67 67 69 6e 67 3a 3a 0a 0a 20 20 20 20 24 20 74 6f 78 20 2d sed.for.debugging::......$.tox.-
231e0 65 20 76 65 6e 76 0a 20 20 20 20 24 20 2e 20 2e 74 6f 78 2f 76 65 6e 76 2f 62 69 6e 2f 61 63 74 e.venv.....$....tox/venv/bin/act
23200 69 76 61 74 65 0a 20 20 20 20 24 20 70 79 74 68 6f 6e 20 2d 6d 20 74 65 73 74 74 6f 6f 6c 73 2e ivate.....$.python.-m.testtools.
23220 72 75 6e 20 5b 74 65 73 74 20 6d 6f 64 75 6c 65 20 70 61 74 68 5d 0a 0a 54 6f 78 20 70 61 63 6b run.[test.module.path]..Tox.pack
23240 61 67 65 73 20 61 6e 64 20 69 6e 73 74 61 6c 6c 73 20 74 68 65 20 6e 65 75 74 72 6f 6e 20 73 6f ages.and.installs.the.neutron.so
23260 75 72 63 65 20 74 72 65 65 20 69 6e 20 61 20 67 69 76 65 6e 20 76 65 6e 76 0a 6f 6e 20 65 76 65 urce.tree.in.a.given.venv.on.eve
23280 72 79 20 69 6e 76 6f 63 61 74 69 6f 6e 2c 20 62 75 74 20 69 66 20 6d 6f 64 69 66 69 63 61 74 69 ry.invocation,.but.if.modificati
232a0 6f 6e 73 20 6e 65 65 64 20 74 6f 20 62 65 20 6d 61 64 65 20 62 65 74 77 65 65 6e 0a 69 6e 76 6f ons.need.to.be.made.between.invo
232c0 63 61 74 69 6f 6e 20 28 65 2e 67 2e 20 61 64 64 69 6e 67 20 6d 6f 72 65 20 70 64 62 20 73 74 61 cation.(e.g..adding.more.pdb.sta
232e0 74 65 6d 65 6e 74 73 29 2c 20 69 74 20 69 73 20 72 65 63 6f 6d 6d 65 6e 64 65 64 0a 74 68 61 74 tements),.it.is.recommended.that
23300 20 74 68 65 20 73 6f 75 72 63 65 20 74 72 65 65 20 62 65 20 69 6e 73 74 61 6c 6c 65 64 20 69 6e .the.source.tree.be.installed.in
23320 20 74 68 65 20 76 65 6e 76 20 69 6e 20 65 64 69 74 61 62 6c 65 20 6d 6f 64 65 3a 3a 0a 0a 20 20 .the.venv.in.editable.mode::....
23340 20 20 23 20 72 75 6e 20 74 68 69 73 20 6f 6e 6c 79 20 61 66 74 65 72 20 61 63 74 69 76 61 74 69 ..#.run.this.only.after.activati
23360 6e 67 20 74 68 65 20 76 65 6e 76 0a 20 20 20 20 24 20 70 69 70 20 69 6e 73 74 61 6c 6c 20 2d 2d ng.the.venv.....$.pip.install.--
23380 65 64 69 74 61 62 6c 65 20 2e 0a 0a 45 64 69 74 61 62 6c 65 20 6d 6f 64 65 20 65 6e 73 75 72 65 editable....Editable.mode.ensure
233a0 73 20 74 68 61 74 20 63 68 61 6e 67 65 73 20 6d 61 64 65 20 74 6f 20 74 68 65 20 73 6f 75 72 63 s.that.changes.made.to.the.sourc
233c0 65 20 74 72 65 65 20 61 72 65 0a 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 72 65 66 6c 65 63 74 e.tree.are.automatically.reflect
233e0 65 64 20 69 6e 20 74 68 65 20 76 65 6e 76 2c 20 61 6e 64 20 74 68 61 74 20 73 75 63 68 20 63 68 ed.in.the.venv,.and.that.such.ch
23400 61 6e 67 65 73 20 61 72 65 20 6e 6f 74 0a 6f 76 65 72 77 72 69 74 74 65 6e 20 64 75 72 69 6e 67 anges.are.not.overwritten.during
23420 20 74 68 65 20 6e 65 78 74 20 74 6f 78 20 72 75 6e 2e 0a 0a 52 65 66 65 72 65 6e 63 65 73 0a 3d .the.next.tox.run...References.=
23440 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 2e 2e 20 5b 23 70 75 64 62 5d 20 50 55 44 42 20 64 65 62 75 67 =========.....[#pudb].PUDB.debug
23460 67 65 72 3a 0a 20 20 20 68 74 74 70 73 3a 2f 2f 70 79 70 69 2e 70 79 74 68 6f 6e 2e 6f 72 67 2f ger:....https://pypi.python.org/
23480 70 79 70 69 2f 70 75 64 62 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 pypi/pudb.......................
234a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
234c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
234e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
23500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
23520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
23540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
23560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
23580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
235a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
235c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
235e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
23600 6e 65 74 77 6f 72 6b 69 6e 67 2d 6f 6e 6f 73 2f 52 45 41 44 4d 45 2e 72 73 74 00 00 00 00 00 00 networking-onos/README.rst......
23620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
23640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
23660 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 ....0000644.0001750.0001750.0000
23680 30 30 30 31 36 37 35 00 31 32 36 32 37 35 31 33 34 34 32 00 30 31 34 34 34 35 00 20 30 00 00 00 0001675.12627513442.014445..0...
236a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
236c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
236e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
23700 00 75 73 74 61 72 20 20 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...onos...................
23720 00 00 00 00 00 00 00 00 00 6f 6e 6f 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........onos...................
23740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
23760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
23780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
237a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
237c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
237e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
23800 57 6f 72 64 20 61 62 6f 75 74 20 4f 4e 4f 53 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a Word.about.ONOS.===============.
23820 0a 4f 70 65 6e 20 4e 65 74 77 6f 72 6b 69 6e 67 20 4f 70 65 72 61 74 69 6e 67 20 53 79 73 74 65 .Open.Networking.Operating.Syste
23840 6d 20 28 4f 4e 4f 53 29 20 69 73 20 61 20 6e 65 77 20 63 61 72 72 69 65 72 2d 67 72 61 64 65 20 m.(ONOS).is.a.new.carrier-grade.
23860 53 44 4e 20 6e 65 74 77 6f 72 6b 0a 6f 70 65 72 61 74 69 6e 67 20 73 79 73 74 65 6d 20 64 65 73 SDN.network.operating.system.des
23880 69 67 6e 65 64 20 66 6f 72 20 68 69 67 68 20 61 76 61 69 6c 61 62 69 6c 69 74 79 2c 20 70 65 72 igned.for.high.availability,.per
238a0 66 6f 72 6d 61 6e 63 65 20 61 6e 64 20 73 63 61 6c 65 2d 6f 75 74 20 77 69 74 68 0a 61 20 6d 69 formance.and.scale-out.with.a.mi
238c0 73 73 69 6f 6e 20 22 74 6f 20 70 72 6f 64 75 63 65 20 74 68 65 20 4f 70 65 6e 20 53 6f 75 72 63 ssion."to.produce.the.Open.Sourc
238e0 65 20 4e 65 74 77 6f 72 6b 20 4f 70 65 72 61 74 69 6e 67 20 53 79 73 74 65 6d 20 74 68 61 74 20 e.Network.Operating.System.that.
23900 77 69 6c 6c 20 65 6e 61 62 6c 65 0a 73 65 72 76 69 63 65 20 70 72 6f 76 69 64 65 72 73 20 74 6f will.enable.service.providers.to
23920 20 62 75 69 6c 64 20 72 65 61 6c 20 53 6f 66 74 77 61 72 65 20 44 65 66 69 6e 65 64 20 4e 65 74 .build.real.Software.Defined.Net
23940 77 6f 72 6b 22 2e 0a 0a 57 6f 72 64 20 61 62 6f 75 74 20 6e 65 74 77 6f 72 6b 69 6e 67 2d 6f 6e work"...Word.about.networking-on
23960 6f 73 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 54 68 os.==========================.Th
23980 65 20 22 6e 65 74 77 6f 72 6b 69 6e 67 2d 6f 6e 6f 73 22 20 72 65 70 6f 73 69 74 6f 72 79 20 63 e."networking-onos".repository.c
239a0 6f 6e 74 61 69 6e 73 20 63 6f 64 65 20 77 68 69 63 68 20 6d 61 6b 65 73 20 74 68 65 20 69 6e 74 ontains.code.which.makes.the.int
239c0 65 72 61 63 74 69 6f 6e 0a 62 65 74 77 65 65 6e 20 4f 4e 4f 53 20 61 6e 64 20 4f 70 65 6e 53 74 eraction.between.ONOS.and.OpenSt
239e0 61 63 6b 20 4e 65 75 74 72 6f 6e 20 70 6f 73 73 69 62 6c 65 2e 20 46 6f 72 20 6d 6f 72 65 20 69 ack.Neutron.possible..For.more.i
23a00 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 4f 4e 4f 53 0a 79 6f 75 20 63 61 6e 20 76 69 nformation.about.ONOS.you.can.vi
23a20 73 69 74 20 20 22 68 74 74 70 3a 2f 2f 6f 6e 6f 73 70 72 6f 6a 65 63 74 2e 6f 72 67 2f 22 20 61 sit.."http://onosproject.org/".a
23a40 6e 64 0a 22 68 74 74 70 73 3a 2f 2f 6c 61 75 6e 63 68 70 61 64 2e 6e 65 74 2f 6e 65 75 74 72 6f nd."https://launchpad.net/neutro
23a60 6e 22 20 66 6f 72 20 4f 70 65 6e 53 74 61 63 6b 20 4e 65 75 74 72 6f 6e 2e 0a 0a 49 6d 70 6f 72 n".for.OpenStack.Neutron...Impor
23a80 74 61 6e 74 20 50 6f 69 6e 74 65 72 73 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d tant.Pointers.==================
23aa0 0a 2a 20 59 6f 75 20 63 61 6e 20 76 69 73 69 74 20 74 68 65 20 6c 61 75 6e 63 68 70 61 64 20 70 .*.You.can.visit.the.launchpad.p
23ac0 61 67 65 20 22 68 74 74 70 73 3a 2f 2f 6c 61 75 6e 63 68 70 61 64 2e 6e 65 74 2f 6e 65 74 77 6f age."https://launchpad.net/netwo
23ae0 72 6b 69 6e 67 2d 6f 6e 6f 73 22 20 74 6f 20 67 65 74 20 6c 61 74 65 73 74 20 70 72 6f 6a 65 63 rking-onos".to.get.latest.projec
23b00 74 20 73 74 61 74 75 73 2e 0a 2a 20 46 6f 72 20 61 6e 79 20 69 73 73 75 65 73 20 6f 72 20 6e 65 t.status..*.For.any.issues.or.ne
23b20 77 20 72 65 71 75 69 72 65 6d 65 6e 74 20 72 61 69 73 65 20 61 20 62 75 67 20 61 74 20 e2 80 9c w.requirement.raise.a.bug.at....
23b40 68 74 74 70 73 3a 2f 2f 62 75 67 73 2e 6c 61 75 6e 63 68 70 61 64 2e 6e 65 74 2f 6e 65 74 77 6f https://bugs.launchpad.net/netwo
23b60 72 6b 69 6e 67 2d 6f 6e 6f 73 e2 80 9d 2e 20 57 65 20 77 69 6c 6c 20 67 65 74 20 62 61 63 6b 2e rking-onos.....We.will.get.back.
23b80 0a 2a 20 41 6e 79 20 63 6f 6e 74 72 69 62 75 74 69 6f 6e 20 69 73 20 61 70 70 72 65 63 69 61 74 .*.Any.contribution.is.appreciat
23ba0 65 64 2e 20 4c 65 74 27 73 20 73 74 61 72 74 20 63 6f 6e 74 72 69 62 75 74 69 6e 67 2e 00 00 00 ed..Let's.start.contributing....
23bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
23be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
23c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
23c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
23c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
23c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
23c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
23ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
23cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
23ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
23d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
23d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
23d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
23d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
23d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
23da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
23dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
23de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
23e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
23e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
23e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
23e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
23e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
23ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
23ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
23ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
23f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
23f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
23f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
23f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
23f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
23fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
23fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
23fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
240a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
240c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
240e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
241a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
241c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
241e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
242a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
242c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
242e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
243a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
243c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
243e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
244a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
244c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
244e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
245a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
245c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
245e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
246a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
246c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
246e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
247a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
247c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
247e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
248a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
248c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
248e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
249a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
249c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
249e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
250a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
250c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
250e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
251a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
251c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
251e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
252a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
252c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
252e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
253a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
253c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
253e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
254a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
254c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
254e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
255a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
255c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
255e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
256a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
256c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
256e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
257a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
257c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
257e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................