aboutsummaryrefslogtreecommitdiffstats
path: root/framework/scripts/installer/fuel/fuel-plugin-onos/deployment_scripts/puppet/modules/onos/files/networking-onos.tar
blob: 27632a33e72867df975c5de70110d1a1dbb9fa84 (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 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000755.0000000.0000000.0000
0080 30 30 30 30 30 30 30 00 31 32 36 32 37 35 34 34 34 34 36 00 30 31 32 37 33 35 00 20 35 00 00 00 0000000.12627544446.012735..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 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
0120 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
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 62 61 62 65 6c 2e 63 66 67 00 00 00 00 00 00 00 networking-onos/babel.cfg.......
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 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
0280 30 30 30 30 30 32 31 00 31 32 36 32 37 35 31 33 34 34 32 00 30 31 34 34 34 34 00 20 30 00 00 00 0000021.12627513442.014444..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 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
0320 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
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 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].................
0420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
04a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
04c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
04e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
05a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
05c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
05e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0600 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
0620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0660 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
0680 30 30 30 31 30 37 30 00 31 32 36 32 37 35 31 33 34 34 32 00 30 31 35 33 36 34 00 20 30 00 00 00 0001070.12627513442.015364..0...
06a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
06c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
06e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0700 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
0720 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
0740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
07a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
07c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
07e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0800 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.
0820 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,
0840 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
0860 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
0880 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.
08a0 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.
08c0 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,
08e0 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.
0900 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
0920 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
0940 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.
0960 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
0980 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.
09a0 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
09c0 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
09e0 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
0a00 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
0a20 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.........
0a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0c00 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
0c20 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...........................
0c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0c60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
0c80 30 30 30 30 32 31 35 00 31 32 36 32 37 35 31 33 34 34 32 00 30 31 37 30 34 37 00 20 30 00 00 00 0000215.12627513442.017047..0...
0ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0d00 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
0d20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
0d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0e00 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.
0e20 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.
0e40 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
0e60 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
0e80 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....................
0ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
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 69 6e 73 74 61 6c 6c 5f 64 72 69 76 65 72 2e 73 networking-onos/install_driver.s
1020 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...............................
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 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000755.0000000.0000000.0000
1080 30 30 30 30 33 37 30 00 31 32 36 32 37 35 34 34 34 34 36 00 30 31 36 33 31 35 00 20 30 00 00 00 0000370.12627544446.016315..0...
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 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
1120 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
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 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
1220 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.
1240 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
1260 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
1280 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
12a0 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
12c0 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/
12e0 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.........
1300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
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 48 41 43 4b 49 4e 47 2e 72 73 74 00 00 00 00 00 networking-onos/HACKING.rst.....
1420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
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 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
1480 30 30 30 32 35 37 30 00 31 32 36 32 37 35 31 33 34 34 32 00 30 31 34 35 32 37 00 20 30 00 00 00 0002570.12627513442.014527..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 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
1520 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
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 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.=====
1620 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:
1640 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
1660 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
1680 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:.
16a0 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
16c0 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.-------------------------
16e0 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.
1700 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.-.
1720 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
1740 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
1760 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
1780 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.
17a0 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.@
17c0 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
17e0 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.
1800 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
1820 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
1840 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.---------------
1860 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
1880 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
18a0 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
18c0 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.
18e0 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
1900 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
1920 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.
1940 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.
1960 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.
1980 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
19a0 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
19c0 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
19e0 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
1a00 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
1a20 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.
1a40 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
1a60 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
1a80 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
1aa0 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
1ac0 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
1ae0 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
1b00 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
1b20 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.
1b40 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
1b60 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..........
1b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c00 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/............
1c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c60 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000755.0000000.0000000.0000
1c80 30 30 30 30 30 30 30 00 31 32 36 32 37 35 31 33 34 34 32 00 30 31 33 35 30 30 00 20 35 00 00 00 0000000.12627513442.013500..5...
1ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d00 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
1d20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
1d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e00 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
1e20 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...............................
1e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
1e80 30 30 30 30 34 33 35 00 31 32 36 32 37 35 31 33 34 34 32 00 30 31 36 31 36 36 00 20 30 00 00 00 0000435.12627513442.016166..0...
1ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f00 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
1f20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
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 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.
2020 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
2040 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
2060 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
2080 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
20a0 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..#
20c0 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
20e0 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
2100 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.=....
2120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
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 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/
2220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2260 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000755.0000000.0000000.0000
2280 30 30 30 30 30 30 30 00 31 32 36 32 37 35 31 33 34 34 32 00 30 31 36 31 35 32 00 20 35 00 00 00 0000000.12627513442.016152..5...
22a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2300 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
2320 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
2340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
23a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
23c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
23e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2400 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/
2420 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/.........................
2440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2460 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000755.0000000.0000000.0000
2480 30 30 30 30 30 30 30 00 31 32 36 32 37 35 31 33 34 34 32 00 30 31 37 34 34 32 00 20 35 00 00 00 0000000.12627513442.017442..5...
24a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2500 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
2520 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
2540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2600 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/
2620 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................
2640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2660 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
2680 30 30 30 32 31 36 36 00 31 32 36 32 37 35 31 33 34 34 32 00 30 32 31 32 36 36 00 20 30 00 00 00 0002166.12627513442.021266..0...
26a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2700 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
2720 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
2740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2800 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
2820 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
2840 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
2860 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.
2880 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.#..
28a0 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
28c0 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
28e0 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
2900 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
2920 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.#
2940 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
2960 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,
2980 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
29a0 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
29c0 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
29e0 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
2a00 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
2a20 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
2a40 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
2a60 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
2a80 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
2aa0 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.=.[..
2ac0 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',.......
2ae0 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='',............
2b00 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.
2b20 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
2b40 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='',...
2b60 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
2b80 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
2ba0 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',................
2bc0 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
2be0 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
2c00 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=_
2c20 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.')
2c40 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
2c60 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")...........
2c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2e00 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/
2e20 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.................
2e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2e60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
2e80 30 30 30 33 31 33 37 00 31 32 36 32 37 35 31 33 34 34 32 00 30 32 31 31 36 30 00 20 30 00 00 00 0003137.12627513442.021160..0...
2ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2f00 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
2f20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
2f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3000 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
3020 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
3040 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
3060 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.
3080 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.#..
30a0 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
30c0 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
30e0 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
3100 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
3120 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.#
3140 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
3160 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,
3180 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
31a0 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
31c0 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
31e0 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
3200 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
3220 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
3240 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
3260 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
3280 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
32a0 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
32c0 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
32e0 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
3300 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
3320 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
3340 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
3360 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
3380 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
33a0 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.=.
33c0 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
33e0 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(
3400 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
3420 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
3440 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)."
3460 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
3480 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)",...........
34a0 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
34c0 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
34e0 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
3500 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,.
3520 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,.......................
3540 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,....
3560 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
3580 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.
35a0 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
35c0 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
35e0 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
3600 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
3620 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
3640 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)..
3660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
37a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
37c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
37e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3800 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/
3820 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..............
3840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3860 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
3880 30 30 30 30 30 30 30 00 31 32 36 32 37 35 31 33 34 34 32 00 30 32 31 35 34 31 00 20 30 00 00 00 0000000.12627513442.021541..0...
38a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
38c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
38e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3900 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
3920 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
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 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/........................
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 37 35 35 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000755.0000000.0000000.0000
3a80 30 30 30 30 30 30 30 00 31 32 37 32 31 35 31 36 31 30 30 00 30 31 37 36 32 30 00 20 35 00 00 00 0000000.12721516100.017620..5...
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 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
3b20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
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 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000755.0000000.0000000.0000
3c80 30 30 30 30 30 30 30 00 31 33 30 35 32 37 37 30 30 37 34 00 30 32 30 31 35 30 00 20 35 00 00 00 0000000.13052770074.020150..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 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
3d20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
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 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............
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 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
3e80 30 30 30 36 30 31 33 00 31 32 36 32 37 35 31 33 34 34 32 00 30 32 32 30 34 33 00 20 30 00 00 00 0006013.12627513442.022043..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 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
3f20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
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 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
4020 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
4040 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,.
4060 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
4080 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
40a0 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.
40c0 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
40e0 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
4100 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
4120 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
4140 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,
4160 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
4180 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.
41a0 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
41c0 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,.
41e0 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
4200 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
4220 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
4240 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
4260 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
4280 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
42a0 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_
42c0 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
42e0 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
4300 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
4320 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
4340 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......"""....
4360 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
4380 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):......
43a0 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
43c0 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,..........
43e0 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
4400 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
4420 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
4440 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
4460 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',.............
4480 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
44a0 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
44c0 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):.
44e0 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'.+.'
4500 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
4520 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
4540 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,
4560 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 ................................
4580 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
45a0 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
45c0 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'
45e0 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
4600 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
4620 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...
4640 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
4660 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
4680 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,.
46a0 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,..........
46c0 20 20 20 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
46e0 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):......
4700 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'.+.'/'.+.
4720 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
4740 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._
4760 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
4780 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,..................
47a0 20 20 20 20 20 20 20 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
47c0 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).......
47e0 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
4800 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
4820 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
4840 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,.......
4860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
4880 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):
48a0 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'.+.
48c0 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
48e0 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
4900 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
4920 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,.........
4940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
4960 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
4980 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(
49a0 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)...
49c0 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
49e0 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,....
4a00 20 20 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
4a20 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_
4a40 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:.....
4a60 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
4a80 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.
4aa0 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']...
4ac0 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
4ae0 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']....
4b00 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
4b20 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
4b40 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,..
4b60 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':
4b80 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,......................
4ba0 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,..............
4bc0 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
4be0 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
4c00 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......................
4c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4e00 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/
4e20 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...............
4e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4e60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
4e80 30 30 30 32 32 32 35 00 31 32 36 32 37 35 31 33 34 34 32 00 30 32 31 30 33 32 00 20 30 00 00 00 0002225.12627513442.021032..0...
4ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4f00 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
4f20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
4f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5000 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
5020 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.==============
5040 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 ================================
5060 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.
5080 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
50a0 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.
50c0 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
50e0 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
5100 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
5120 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
5140 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
5160 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
5180 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
51a0 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
51c0 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
51e0 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
5200 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.
5220 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
5240 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.=======
5260 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
5280 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
52a0 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
52c0 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
52e0 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
5300 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
5320 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
5340 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
5360 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
5380 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
53a0 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
53c0 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
53e0 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
5400 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
5420 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
5440 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...
5460 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
5480 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.............
54a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
55a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
55c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
55e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5600 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/
5620 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..........
5640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5660 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
5680 30 30 30 30 30 30 30 00 31 32 36 32 37 35 31 33 34 34 32 00 30 32 32 32 35 30 00 20 30 00 00 00 0000000.12627513442.022250..0...
56a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
56c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
56e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5700 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
5720 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
5740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
57a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
57c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
57e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5800 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/
5820 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.......
5840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5860 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
5880 30 30 30 33 30 30 31 00 31 32 36 32 37 35 31 33 34 34 32 00 30 32 33 30 31 30 00 20 30 00 00 00 0003001.12627513442.023010..0...
58a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
58c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
58e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5900 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
5920 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
5940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
59a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
59c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
59e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5a00 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
5a20 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
5a40 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,.
5a60 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
5a80 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
5aa0 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.
5ac0 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
5ae0 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
5b00 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
5b20 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
5b40 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,
5b60 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
5b80 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.
5ba0 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
5bc0 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,.
5be0 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
5c00 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
5c20 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
5c40 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
5c60 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
5c80 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...
5ca0 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):...
5cc0 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.
5ce0 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
5d00 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
5d20 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......"""...
5d40 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,.
5d60 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):.
5d80 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
5da0 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,.....
5dc0 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
5de0 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.
5e00 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
5e20 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
5e40 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'
5e60 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 ,...............................
5e80 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})....
5ea0 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
5ec0 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_
5ee0 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.
5f00 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
5f20 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,...............
5f40 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'
5f60 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
5f80 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):.......
5fa0 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'.+.'/'
5fc0 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
5fe0 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)
6000 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 ................................
6020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
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 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
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 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
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 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/
6220 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............
6240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6260 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
6280 30 30 31 32 33 34 35 00 31 33 30 35 32 37 37 30 30 37 34 00 30 32 32 30 32 32 00 20 30 00 00 00 0012345.13052770074.022022..0...
62a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
62c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
62e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6300 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
6320 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
6340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
63a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
63c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
63e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6400 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
6420 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
6440 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
6460 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
6480 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
64a0 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
64c0 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.
64e0 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.
6500 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
6520 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
6540 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
6560 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
6580 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
65a0 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
65c0 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
65e0 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
6600 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
6620 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
6640 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
6660 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
6680 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.
66a0 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
66c0 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
66e0 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
6700 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
6720 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.
6740 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.
6760 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
6780 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
67a0 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
67c0 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
67e0 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
6800 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
6820 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
6840 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
6860 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
6880 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
68a0 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
68c0 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
68e0 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
6900 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.
6920 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,..............
6940 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
6960 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
6980 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,.......
69a0 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_
69c0 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,.....
69e0 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
6a00 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
6a20 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
6a40 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
6a60 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
6a80 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.
6aa0 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
6ac0 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
6ae0 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...
6b00 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
6b20 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
6b40 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
6b60 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
6b80 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.
6ba0 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.
6bc0 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
6be0 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)....
6c00 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
6c20 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.....
6c40 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
6c60 6e 65 63 74 69 6f 6e 28 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 67 65 6e 74 5f 6e 6f 74 nection().........self.agent_not
6c80 69 66 69 65 72 73 2e 75 70 64 61 74 65 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 71 5f 63 6f ifiers.update(.............{q_co
6ca0 6e 73 74 2e 41 47 45 4e 54 5f 54 59 50 45 5f 4c 33 3a 20 6c 33 5f 72 70 63 5f 61 67 65 6e 74 5f nst.AGENT_TYPE_L3:.l3_rpc_agent_
6cc0 61 70 69 2e 4c 33 41 67 65 6e 74 4e 6f 74 69 66 79 41 50 49 28 29 7d 29 0a 20 20 20 20 20 20 20 api.L3AgentNotifyAPI()})........
6ce0 20 73 65 6c 66 2e 65 6e 64 70 6f 69 6e 74 73 20 3d 20 5b 6c 33 5f 72 70 63 2e 4c 33 52 70 63 43 .self.endpoints.=.[l3_rpc.L3RpcC
6d00 61 6c 6c 62 61 63 6b 28 29 5d 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 63 6f 6e 6e 2e 63 72 65 allback()].........self.conn.cre
6d20 61 74 65 5f 63 6f 6e 73 75 6d 65 72 28 73 65 6c 66 2e 74 6f 70 69 63 2c 20 73 65 6c 66 2e 65 6e ate_consumer(self.topic,.self.en
6d40 64 70 6f 69 6e 74 73 2c 20 66 61 6e 6f 75 74 3d 46 61 6c 73 65 29 0a 20 20 20 20 20 20 20 20 73 dpoints,.fanout=False).........s
6d60 65 6c 66 2e 63 6f 6e 6e 2e 63 6f 6e 73 75 6d 65 5f 69 6e 5f 74 68 72 65 61 64 73 28 29 0a 0a 20 elf.conn.consume_in_threads()...
6d80 20 20 20 64 65 66 20 67 65 74 5f 70 6c 75 67 69 6e 5f 74 79 70 65 28 73 65 6c 66 29 3a 0a 20 20 ...def.get_plugin_type(self):...
6da0 20 20 20 20 20 20 72 65 74 75 72 6e 20 63 6f 6e 73 74 61 6e 74 73 2e 4c 33 5f 52 4f 55 54 45 52 ......return.constants.L3_ROUTER
6dc0 5f 4e 41 54 0a 0a 20 20 20 20 64 65 66 20 67 65 74 5f 70 6c 75 67 69 6e 5f 64 65 73 63 72 69 70 _NAT......def.get_plugin_descrip
6de0 74 69 6f 6e 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 22 22 22 72 65 74 75 72 6e 73 20 70 tion(self):........."""returns.p
6e00 6c 75 67 2d 69 6e 20 64 65 73 63 72 69 70 74 69 6f 6e 22 22 22 0a 20 20 20 20 20 20 20 20 72 65 lug-in.description""".........re
6e20 74 75 72 6e 20 28 22 4c 33 20 52 6f 75 74 65 72 20 53 65 72 76 69 63 65 20 50 6c 75 67 2d 69 6e turn.("L3.Router.Service.Plug-in
6e40 20 66 6f 72 20 62 61 73 69 63 20 4c 33 20 66 6f 72 77 61 72 64 69 6e 67 20 75 73 69 6e 67 20 4f .for.basic.L3.forwarding.using.O
6e60 4e 4f 53 22 29 0a 0a 20 20 20 20 64 65 66 20 63 72 65 61 74 65 5f 72 6f 75 74 65 72 28 73 65 6c NOS")......def.create_router(sel
6e80 66 2c 20 63 6f 6e 74 65 78 74 2c 20 72 6f 75 74 65 72 29 3a 0a 20 20 20 20 20 20 20 20 72 6f 75 f,.context,.router):.........rou
6ea0 74 65 72 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 ter_dict.=.super(ONOSL3Plugin,.s
6ec0 65 6c 66 29 2e 63 72 65 61 74 65 5f 72 6f 75 74 65 72 28 63 6f 6e 74 65 78 74 2c 20 72 6f 75 74 elf).create_router(context,.rout
6ee0 65 72 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 68 61 6e 64 6c 65 5f 63 72 65 61 74 65 5f 72 er).........self.handle_create_r
6f00 6f 75 74 65 72 28 72 6f 75 74 65 72 5f 64 69 63 74 29 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 outer(router_dict).........retur
6f20 6e 20 72 6f 75 74 65 72 5f 64 69 63 74 0a 0a 20 20 20 20 64 65 66 20 75 70 64 61 74 65 5f 72 6f n.router_dict......def.update_ro
6f40 75 74 65 72 28 73 65 6c 66 2c 20 63 6f 6e 74 65 78 74 2c 20 69 64 2c 20 72 6f 75 74 65 72 29 3a uter(self,.context,.id,.router):
6f60 0a 20 20 20 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 .........router_dict.=.super(ONO
6f80 53 4c 33 50 6c 75 67 69 6e 2c 20 73 65 6c 66 29 2e 75 70 64 61 74 65 5f 72 6f 75 74 65 72 28 63 SL3Plugin,.self).update_router(c
6fa0 6f 6e 74 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 ontext,.id,.....................
6fc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6fe0 20 20 20 20 20 20 20 20 20 20 72 6f 75 74 65 72 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 68 ..........router).........self.h
7000 61 6e 64 6c 65 5f 75 70 64 61 74 65 5f 72 6f 75 74 65 72 28 72 6f 75 74 65 72 5f 64 69 63 74 2c andle_update_router(router_dict,
7020 20 69 64 29 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 72 6f 75 74 65 72 5f 64 69 63 74 0a .id).........return.router_dict.
7040 0a 20 20 20 20 64 65 66 20 64 65 6c 65 74 65 5f 72 6f 75 74 65 72 28 73 65 6c 66 2c 20 63 6f 6e .....def.delete_router(self,.con
7060 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 53 4c 33 50 text,.id):.........super(ONOSL3P
7080 6c 75 67 69 6e 2c 20 73 65 6c 66 29 2e 64 65 6c 65 74 65 5f 72 6f 75 74 65 72 28 63 6f 6e 74 65 lugin,.self).delete_router(conte
70a0 78 74 2c 20 69 64 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 68 61 6e 64 6c 65 5f 64 65 6c 65 xt,.id).........self.handle_dele
70c0 74 65 5f 72 6f 75 74 65 72 28 69 64 29 0a 0a 20 20 20 20 64 65 66 20 63 72 65 61 74 65 5f 66 6c te_router(id)......def.create_fl
70e0 6f 61 74 69 6e 67 69 70 28 73 65 6c 66 2c 20 63 6f 6e 74 65 78 74 2c 20 66 6c 6f 61 74 69 6e 67 oatingip(self,.context,.floating
7100 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 20 20 20 20 20 69 6e ip,...........................in
7120 69 74 69 61 6c 5f 73 74 61 74 75 73 3d 71 5f 63 6f 6e 73 74 2e 46 4c 4f 41 54 49 4e 47 49 50 5f itial_status=q_const.FLOATINGIP_
7140 53 54 41 54 55 53 5f 41 43 54 49 56 45 29 3a 0a 20 20 20 20 20 20 20 20 66 69 70 5f 64 69 63 74 STATUS_ACTIVE):.........fip_dict
7160 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 63 72 65 .=.super(ONOSL3Plugin,.self).cre
7180 61 74 65 5f 66 6c 6f 61 74 69 6e 67 69 70 28 63 6f 6e 74 65 78 74 2c 0a 20 20 20 20 20 20 20 20 ate_floatingip(context,.........
71a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
71c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6c 6f 61 74 69 6e 67 69 .......................floatingi
71e0 70 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 p,..............................
7200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
7220 20 20 69 6e 69 74 69 61 6c 5f 73 74 61 74 75 73 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 68 ..initial_status).........self.h
7240 61 6e 64 6c 65 5f 63 72 65 61 74 65 5f 66 6c 6f 61 74 69 6e 67 69 70 28 66 69 70 5f 64 69 63 74 andle_create_floatingip(fip_dict
7260 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 0a 20 20 20 20 64 ).........return.fip_dict......d
7280 65 66 20 75 70 64 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 ef.update_floatingip(self,.conte
72a0 78 74 2c 20 69 64 2c 20 66 6c 6f 61 74 69 6e 67 69 70 29 3a 0a 20 20 20 20 20 20 20 20 66 69 70 xt,.id,.floatingip):.........fip
72c0 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 65 6c 66 _dict.=.super(ONOSL3Plugin,.self
72e0 29 2e 75 70 64 61 74 65 5f 66 6c 6f 61 74 69 6e 67 69 70 28 63 6f 6e 74 65 78 74 2c 20 69 64 2c ).update_floatingip(context,.id,
7300 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 ................................
7320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
7340 66 6c 6f 61 74 69 6e 67 69 70 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 68 61 6e 64 6c 65 5f floatingip).........self.handle_
7360 75 70 64 61 74 65 5f 66 6c 6f 61 74 69 6e 67 69 70 28 69 64 2c 20 66 69 70 5f 64 69 63 74 29 0a update_floatingip(id,.fip_dict).
7380 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 69 70 5f 64 69 63 74 0a 0a 20 20 20 20 64 65 66 ........return.fip_dict......def
73a0 20 64 65 6c 65 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 .delete_floatingip(self,.context
73c0 2c 20 69 64 29 3a 0a 20 20 20 20 20 20 20 20 73 75 70 65 72 28 4f 4e 4f 53 4c 33 50 6c 75 67 69 ,.id):.........super(ONOSL3Plugi
73e0 6e 2c 20 73 65 6c 66 29 2e 64 65 6c 65 74 65 5f 66 6c 6f 61 74 69 6e 67 69 70 28 63 6f 6e 74 65 n,.self).delete_floatingip(conte
7400 78 74 2c 20 69 64 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 68 61 6e 64 6c 65 5f 64 65 6c 65 xt,.id).........self.handle_dele
7420 74 65 5f 66 6c 6f 61 74 69 6e 67 69 70 28 69 64 29 0a 0a 20 20 20 20 64 65 66 20 61 64 64 5f 72 te_floatingip(id)......def.add_r
7440 6f 75 74 65 72 5f 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 outer_interface(self,.context,.r
7460 6f 75 74 65 72 5f 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 outer_id,.interface_info):......
7480 20 20 20 72 6f 75 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 ...router.=.super(ONOSL3Plugin,.
74a0 73 65 6c 66 29 2e 61 64 64 5f 72 6f 75 74 65 72 5f 69 6e 74 65 72 66 61 63 65 28 63 6f 6e 74 65 self).add_router_interface(conte
74c0 78 74 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 xt,.............................
74e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
7500 20 20 20 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 20 ....router_id,..................
7520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
7540 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 66 6f 29 0a 20 ...............interface_info)..
7560 20 20 20 20 20 20 20 69 6e 74 66 5f 61 64 64 5f 74 79 70 65 20 3d 20 73 65 6c 66 2e 5f 67 65 74 .......intf_add_type.=.self._get
7580 5f 69 6e 74 66 5f 61 64 64 5f 74 79 70 65 28 72 6f 75 74 65 72 2c 20 69 6e 74 65 72 66 61 63 65 _intf_add_type(router,.interface
75a0 5f 69 6e 66 6f 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 68 61 6e 64 6c 65 5f 61 64 64 5f 72 _info).........self.handle_add_r
75c0 6f 75 74 65 72 5f 69 6e 74 65 72 66 61 63 65 28 72 6f 75 74 65 72 2c 20 72 6f 75 74 65 72 5f 69 outer_interface(router,.router_i
75e0 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 20 20 20 20 d,..............................
7600 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 65 72 66 61 63 65 5f 69 6e 66 6f 2c 20 69 6e 74 66 ............interface_info,.intf
7620 5f 61 64 64 5f 74 79 70 65 29 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 72 6f 75 74 65 72 _add_type).........return.router
7640 0a 0a 20 20 20 20 64 65 66 20 72 65 6d 6f 76 65 5f 72 6f 75 74 65 72 5f 69 6e 74 65 72 66 61 63 ......def.remove_router_interfac
7660 65 28 73 65 6c 66 2c 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 e(self,.context,.router_id,.inte
7680 72 66 61 63 65 5f 69 6e 66 6f 29 3a 0a 20 20 20 20 20 20 20 20 72 6f 75 74 65 72 20 3d 20 73 75 rface_info):.........router.=.su
76a0 70 65 72 28 4f 4e 4f 53 4c 33 50 6c 75 67 69 6e 2c 20 73 65 6c 66 29 2e 72 65 6d 6f 76 65 5f 72 per(ONOSL3Plugin,.self).remove_r
76c0 6f 75 74 65 72 5f 69 6e 74 65 72 66 61 63 65 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e outer_interface(.............con
76e0 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 29 text,.router_id,.interface_info)
7700 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 65 6c 66 2e 5f 67 .........intf_add_type.=.self._g
7720 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 6e 74 65 72 66 61 et_intf_add_type(router,.interfa
7740 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 6c 65 5f 72 65 6d ce_info).........self.handle_rem
7760 6f 76 65 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 72 6f 75 ove_router_interface(router,.rou
7780 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 20 20 20 ter_id,.........................
77a0 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
77c0 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
77e0 6e 20 72 6f 75 74 65 72 0a 0a 20 20 20 20 64 65 66 20 5f 67 65 74 5f 69 6e 74 66 5f 61 64 64 5f n.router......def._get_intf_add_
7800 74 79 70 65 28 73 65 6c 66 2c 20 72 6f 75 74 65 72 5f 69 6e 66 6f 2c 20 69 6e 74 66 5f 69 6e 66 type(self,.router_info,.intf_inf
7820 6f 29 3a 0a 20 20 20 20 20 20 20 20 61 64 64 5f 62 79 5f 70 6f 72 74 2c 20 61 64 64 5f 62 79 5f o):.........add_by_port,.add_by_
7840 73 75 62 20 3d 20 73 65 6c 66 2e 5f 76 61 6c 69 64 61 74 65 5f 69 6e 74 65 72 66 61 63 65 5f 69 sub.=.self._validate_interface_i
7860 6e 66 6f 28 69 6e 74 66 5f 69 6e 66 6f 29 0a 20 20 20 20 20 20 20 20 69 66 20 61 64 64 5f 62 79 nfo(intf_info).........if.add_by
7880 5f 73 75 62 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6f 6e 6f 73 5f 72 6f _sub:.............return.onos_ro
78a0 75 74 65 72 2e 41 44 44 5f 49 4e 54 46 5f 42 59 5f 53 55 42 4e 45 54 0a 0a 20 20 20 20 20 20 20 uter.ADD_INTF_BY_SUBNET.........
78c0 20 72 65 74 75 72 6e 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 .return.onos_router.ADD_INTF_BY_
78e0 50 4f 52 54 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 PORT............................
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 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.............
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 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
7a80 30 30 30 30 30 30 30 00 31 32 36 32 37 35 31 33 34 34 32 00 30 32 31 37 33 32 00 20 30 00 00 00 0000000.12627513442.021732..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 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
7b20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
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 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/
7c20 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/....................
7c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7c60 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000755.0000000.0000000.0000
7c80 30 30 30 30 30 30 30 00 31 33 30 35 32 37 37 30 30 35 33 00 30 32 30 33 32 31 00 20 35 00 00 00 0000000.13052770053.020321..5...
7ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7d00 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
7d20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
7d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7e00 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/
7e20 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...........
7e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7e60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
7e80 30 30 31 33 34 30 35 00 31 32 36 32 37 35 31 33 34 34 32 00 30 32 32 31 37 35 00 20 30 00 00 00 0013405.12627513442.022175..0...
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 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
7f20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
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 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
8020 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
8040 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
8060 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.
8080 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.#..
80a0 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
80c0 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
80e0 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
8100 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
8120 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.#
8140 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
8160 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,
8180 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
81a0 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
81c0 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
81e0 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
8200 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
8220 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
8240 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
8260 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
8280 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
82a0 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
82c0 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
82e0 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
8300 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
8320 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
8340 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
8360 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
8380 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
83a0 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
83c0 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.
83e0 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
8400 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..
8420 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__
8440 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
8460 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
8480 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
84a0 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
84c0 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
84e0 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.....
8500 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
8520 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
8540 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.......
8560 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
8580 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
85a0 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
85c0 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
85e0 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
8600 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
8620 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
8640 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.
8660 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
8680 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......
86a0 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....
86c0 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
86e0 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
8700 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
8720 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().......
8740 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_
8760 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',...
8780 20 20 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
87a0 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})...
87c0 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.
87e0 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
8800 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
8820 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
8840 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
8860 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
8880 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
88a0 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',........
88c0 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
88e0 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
8900 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
8920 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
8940 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
8960 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
8980 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
89a0 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
89c0 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',....................
89e0 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_
8a00 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.
8a20 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
8a40 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.=.'
8a60 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
8a80 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_
8aa0 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
8ac0 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',..........
8ae0 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,.
8b00 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_
8b20 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.
8b40 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
8b60 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.=.'
8b80 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'
8ba0 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
8bc0 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
8be0 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
8c00 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',..................
8c20 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
8c40 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.
8c60 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
8c80 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):
8ca0 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/
8cc0 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'].......
8ce0 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_
8d00 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',.
8d20 20 20 20 20 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
8d40 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
8d60 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
8d80 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):.......
8da0 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'.........
8dc0 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(
8de0 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
8e00 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
8e20 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',...........................
8e40 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
8e60 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_
8e80 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
8ea0 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
8ec0 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
8ee0 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
8f00 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
8f20 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,
8f40 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',.........
8f60 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,
8f80 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
8fa0 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
8fc0 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
8fe0 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
9000 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']....
9020 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
9040 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
9060 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
9080 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
90a0 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(
90c0 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
90e0 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
9100 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
9120 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
9140 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",.............
9160 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['
9180 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
91a0 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'
91c0 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
91e0 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.
9200 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:....
9220 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
9240 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
9260 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],...
9280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
92a0 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,................
92c0 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
92e0 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,..........................
9300 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
9320 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
9340 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
9360 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).......
9380 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
93a0 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
93c0 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
93e0 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,."................
9400 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
9420 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."........
9440 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
9460 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",..................
9480 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],
94a0 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
94c0 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],
94e0 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
9500 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
9520 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],...........................
9540 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_
9560 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
9580 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(
95a0 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
95c0 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
95e0 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."""......
9600 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
9620 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,..
9640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
9660 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,.
9680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
96a0 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
96c0 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,..............................
96e0 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
9700 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]............................
9720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
97a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
97c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
97e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9800 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/
9820 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..............
9840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9860 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
9880 30 30 30 32 33 37 30 00 31 32 36 32 37 35 31 33 34 34 32 00 30 32 31 32 30 37 00 20 30 00 00 00 0002370.12627513442.021207..0...
98a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
98c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
98e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9900 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
9920 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
9940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
99a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
99c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
99e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9a00 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
9a20 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.====
9a40 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 ================================
9a60 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
9a80 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
9aa0 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
9ac0 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
9ae0 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
9b00 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:.==
9b20 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
9b40 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
9b60 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
9b80 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
9ba0 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
9bc0 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
9be0 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
9c00 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.
9c20 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.
9c40 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
9c60 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
9c80 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
9ca0 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
9cc0 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
9ce0 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
9d00 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
9d20 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
9d40 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
9d60 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
9d80 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/
9da0 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
9dc0 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
9de0 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
9e00 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
9e20 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
9e40 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
9e60 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
9e80 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
9ea0 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
9ec0 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....
9ee0 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..........
9f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a000 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/
a020 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.........
a040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a060 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
a080 30 30 30 30 30 30 30 00 31 32 36 32 37 35 31 33 34 34 32 00 30 32 32 34 32 34 00 20 30 00 00 00 0000000.12627513442.022424..0...
a0a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a0c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a0e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a100 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
a120 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
a140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a1a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a1c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a1e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a200 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/
a220 70 6c 75 67 69 6e 73 2f 73 66 63 2f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 plugins/sfc/....................
a240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a260 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000755.0000000.0000000.0000
a280 30 30 30 30 30 30 30 00 31 32 37 32 31 35 31 36 31 30 30 00 30 32 30 33 37 33 00 20 35 00 00 00 0000000.12721516100.020373..5...
a2a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a2c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a2e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a300 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
a320 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
a340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a3a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a3c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a3e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a400 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/
a420 70 6c 75 67 69 6e 73 2f 73 66 63 2f 64 72 69 76 65 72 2e 70 79 00 00 00 00 00 00 00 00 00 00 00 plugins/sfc/driver.py...........
a440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a460 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
a480 30 30 31 31 35 30 32 00 31 32 37 32 31 35 31 36 31 30 30 00 30 32 32 32 33 37 00 20 30 00 00 00 0011502.12721516100.022237..0...
a4a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a4c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a4e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a500 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
a520 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
a540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a5a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a5c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a5e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a600 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
a620 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
a640 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
a660 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.
a680 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.#..
a6a0 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
a6c0 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
a6e0 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
a700 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
a720 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.#
a740 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
a760 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,
a780 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
a7a0 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
a7c0 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
a7e0 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
a800 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
a820 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
a840 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
a860 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
a880 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
a8a0 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
a8c0 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
a8e0 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
a900 65 74 77 6f 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 etworking_onos.common.import.con
a920 66 69 67 20 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 fig..#.noqa.from.networking_onos
a940 2e 63 6f 6d 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 .common.import.utils.as.onos_uti
a960 6c 73 0a 0a 66 72 6f 6d 20 6e 65 74 77 6f 72 6b 69 6e 67 5f 73 66 63 2e 73 65 72 76 69 63 65 73 ls..from.networking_sfc.services
a980 2e 73 66 63 2e 64 72 69 76 65 72 73 20 69 6d 70 6f 72 74 20 62 61 73 65 20 61 73 20 64 72 69 76 .sfc.drivers.import.base.as.driv
a9a0 65 72 5f 62 61 73 65 0a 0a 4c 4f 47 20 3d 20 6c 6f 67 67 69 6e 67 2e 67 65 74 4c 6f 67 67 65 72 er_base..LOG.=.logging.getLogger
a9c0 28 5f 5f 6e 61 6d 65 5f 5f 29 0a 0a 0a 63 6c 61 73 73 20 53 46 43 4f 4e 4f 53 44 72 69 76 65 72 (__name__)...class.SFCONOSDriver
a9e0 28 64 72 69 76 65 72 5f 62 61 73 65 2e 53 66 63 44 72 69 76 65 72 42 61 73 65 29 3a 0a 0a 20 20 (driver_base.SfcDriverBase):....
aa00 20 20 22 22 22 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 .."""Open.Networking.Operating.S
aa20 79 73 74 65 6d 20 53 46 43 20 44 72 69 76 65 72 20 66 6f 72 20 4e 65 75 74 72 6f 6e 2e 0a 0a 20 ystem.SFC.Driver.for.Neutron....
aa40 20 20 20 43 6f 64 65 20 77 68 69 63 68 20 6d 61 6b 65 73 20 63 6f 6d 6d 75 6e 69 63 61 74 69 6f ...Code.which.makes.communicatio
aa60 6e 20 62 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 4e 65 75 n.between.ONOS.and.OpenStack.Neu
aa80 74 72 6f 6e 0a 20 20 20 20 70 6f 73 73 69 62 6c 65 2e 0a 20 20 20 20 22 22 22 0a 20 20 20 20 64 tron.....possible......""".....d
aaa0 65 66 20 5f 5f 69 6e 69 74 5f 5f 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e ef.__init__(self):.........self.
aac0 6f 6e 6f 73 5f 70 61 74 68 20 3d 20 63 66 67 2e 43 4f 4e 46 2e 6f 6e 6f 73 2e 75 72 6c 5f 70 61 onos_path.=.cfg.CONF.onos.url_pa
aae0 74 68 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 6f 6e 6f 73 5f 61 75 74 68 20 3d 20 28 63 66 67 th.........self.onos_auth.=.(cfg
ab00 2e 43 4f 4e 46 2e 6f 6e 6f 73 2e 75 73 65 72 6e 61 6d 65 2c 20 63 66 67 2e 43 4f 4e 46 2e 6f 6e .CONF.onos.username,.cfg.CONF.on
ab20 6f 73 2e 70 61 73 73 77 6f 72 64 29 0a 0a 20 20 20 20 64 65 66 20 69 6e 69 74 69 61 6c 69 7a 65 os.password)......def.initialize
ab40 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 23 20 4e 6f 20 61 63 74 69 6f 6e 20 72 65 71 75 (self):.........#.No.action.requ
ab60 69 72 65 64 20 61 73 20 6f 66 20 6e 6f 77 2e 20 43 61 6e 20 62 65 20 65 78 74 65 6e 64 65 64 20 ired.as.of.now..Can.be.extended.
ab80 69 6e 0a 20 20 20 20 20 20 20 20 23 20 74 68 65 20 66 75 74 75 72 65 20 69 66 20 72 65 71 75 69 in.........#.the.future.if.requi
aba0 72 65 64 2e 0a 20 20 20 20 20 20 20 20 70 61 73 73 0a 0a 20 20 20 20 40 6c 6f 67 5f 68 65 6c 70 red..........pass......@log_help
abc0 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 63 72 65 61 ers.log_method_call.....def.crea
abe0 74 65 5f 70 6f 72 74 5f 63 68 61 69 6e 28 73 65 6c 66 2c 20 63 6f 6e 74 65 78 74 29 3a 0a 20 20 te_port_chain(self,.context):...
ac00 20 20 20 20 20 20 65 6e 74 69 74 79 5f 70 61 74 68 20 3d 20 27 70 6f 72 74 5f 63 68 61 69 6e 73 ......entity_path.=.'port_chains
ac20 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 65 78 74 2e 63 75 72 '.........resource.=.context.cur
ac40 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
ac60 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
ac80 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 20 20 20 20 20 20 20 s_auth,.'post',.................
aca0 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 7b 27 70 6f 72 74 5f ............entity_path,.{'port_
acc0 63 68 61 69 6e 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 chain':.resource})......@log_hel
ace0 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 75 70 64 pers.log_method_call.....def.upd
ad00 61 74 65 5f 70 6f 72 74 5f 63 68 61 69 6e 28 73 65 6c 66 2c 20 63 6f 6e 74 65 78 74 29 3a 0a 20 ate_port_chain(self,.context):..
ad20 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 74 5f 63 68 61 69 6e .......entity_path.=.'port_chain
ad40 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 20 s/'.+.context.current['id'].....
ad60 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 72 65 6e 74 2e 63 ....resource.=.context.current.c
ad80 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 65 6e 64 5f 6d 73 opy().........onos_utils.send_ms
ada0 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 68 g(self.onos_path,.self.onos_auth
adc0 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 20 20 20 20 20 20 ,.'put',........................
ade0 20 20 20 20 20 65 6e 74 69 74 79 5f 70 61 74 68 2c 20 7b 27 70 6f 72 74 5f 63 68 61 69 6e 27 3a .....entity_path,.{'port_chain':
ae00 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 6c 6f .resource})......@log_helpers.lo
ae20 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 70 6f 72 g_method_call.....def.delete_por
ae40 74 5f 63 68 61 69 6e 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 t_chain(self,.context):.........
ae60 65 6e 74 69 74 79 5f 70 61 74 68 20 3d 20 27 70 6f 72 74 5f 63 68 61 69 6e 73 2f 27 20 2b 20 63 entity_path.=.'port_chains/'.+.c
ae80 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 20 20 6f 6e 6f ontext.current['id'].........ono
aea0 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,
aec0 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 20 20 20 20 20 .self.onos_auth,.'delete',......
aee0 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 5f 70 61 .......................entity_pa
af00 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 65 74 68 6f 64 th)......@log_helpers.log_method
af20 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 61 69 72 28 73 _call.....def.create_port_pair(s
af40 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
af60 74 68 20 3d 20 27 70 6f 72 74 5f 70 61 69 72 73 27 0a 20 20 20 20 20 20 20 20 72 65 73 6f 75 72 th.=.'port_pairs'.........resour
af80 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 29 0a 20 20 20 20 ce.=.context.current.copy().....
afa0 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 6f ....onos_utils.send_msg(self.ono
afc0 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 6f 73 74 27 2c 0a s_path,.self.onos_auth,.'post',.
afe0 20 20 20 20 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
b000 74 79 5f 70 61 74 68 2c 20 7b 27 70 6f 72 74 5f 70 61 69 72 27 3a 20 72 65 73 6f 75 72 63 65 7d ty_path,.{'port_pair':.resource}
b020 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 63 )......@log_helpers.log_method_c
b040 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 61 69 72 28 73 65 6c all.....def.update_port_pair(sel
b060 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
b080 20 3d 20 27 70 6f 72 74 5f 70 61 69 72 73 2f 27 20 2b 20 63 6f 6e 74 65 78 74 2e 63 75 72 72 65 .=.'port_pairs/'.+.context.curre
b0a0 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 6e 74 nt['id'].........resource.=.cont
b0c0 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_
b0e0 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
b100 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 20 20 elf.onos_auth,.'put',...........
b120 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 7b ..................entity_path,.{
b140 27 70 6f 72 74 5f 70 61 69 72 27 3a 20 72 65 73 6f 75 72 63 65 7d 29 0a 0a 20 20 20 20 40 6c 6f 'port_pair':.resource})......@lo
b160 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 65 g_helpers.log_method_call.....de
b180 66 20 64 65 6c 65 74 65 5f 70 6f 72 74 5f 70 61 69 72 28 73 65 6c 66 2c 20 63 6f 6e 74 65 78 74 f.delete_port_pair(self,.context
b1a0 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 74 5f 70 ):.........entity_path.=.'port_p
b1c0 61 69 72 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 airs/'.+.context.current['id']..
b1e0 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 2e .......onos_utils.send_msg(self.
b200 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 64 65 6c 65 onos_path,.self.onos_auth,.'dele
b220 74 65 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 te',............................
b240 20 65 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 .entity_path)......@log_helpers.
b260 6c 6f 67 5f 6d 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 log_method_call.....def.create_p
b280 6f 72 74 5f 70 61 69 72 5f 67 72 6f 75 70 28 73 65 6c 66 2c 20 63 6f 6e 74 65 78 74 29 3a 0a 20 ort_pair_group(self,.context):..
b2a0 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 74 5f 70 61 69 72 5f .......entity_path.=.'port_pair_
b2c0 67 72 6f 75 70 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 65 groups'.........resource.=.conte
b2e0 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 75 xt.current.copy().........onos_u
b300 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 65 tils.send_msg(self.onos_path,.se
b320 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 20 lf.onos_auth,.'post',...........
b340 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 7b ..................entity_path,.{
b360 27 70 6f 72 74 5f 70 61 69 72 5f 67 72 6f 75 70 27 3a 20 72 65 73 6f 75 72 63 65 7d 29 0a 0a 20 'port_pair_group':.resource})...
b380 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.
b3a0 20 20 20 20 64 65 66 20 75 70 64 61 74 65 5f 70 6f 72 74 5f 70 61 69 72 5f 67 72 6f 75 70 28 73 ....def.update_port_pair_group(s
b3c0 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
b3e0 74 68 20 3d 20 27 70 6f 72 74 5f 70 61 69 72 5f 67 72 6f 75 70 73 2f 27 20 2b 20 63 6f 6e 74 65 th.=.'port_pair_groups/'.+.conte
b400 78 74 2e 63 75 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 xt.current['id'].........resourc
b420 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 29 0a 20 20 20 20 20 e.=.context.current.copy()......
b440 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
b460 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 75 74 27 2c 0a 20 20 _path,.self.onos_auth,.'put',...
b480 20 20 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
b4a0 5f 70 61 74 68 2c 20 7b 27 70 6f 72 74 5f 70 61 69 72 5f 67 72 6f 75 70 27 3a 20 72 65 73 6f 75 _path,.{'port_pair_group':.resou
b4c0 72 63 65 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 rce})......@log_helpers.log_meth
b4e0 6f 64 5f 63 61 6c 6c 0a 20 20 20 20 64 65 66 20 64 65 6c 65 74 65 5f 70 6f 72 74 5f 70 61 69 72 od_call.....def.delete_port_pair
b500 5f 67 72 6f 75 70 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 _group(self,.context):.........e
b520 6e 74 69 74 79 5f 70 61 74 68 20 3d 20 27 70 6f 72 74 5f 70 61 69 72 5f 67 72 6f 75 70 73 2f 27 ntity_path.=.'port_pair_groups/'
b540 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 20 .+.context.current['id']........
b560 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 70 .onos_utils.send_msg(self.onos_p
b580 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 20 ath,.self.onos_auth,.'delete',..
b5a0 20 20 20 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 ...........................entit
b5c0 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 65 y_path)......@log_helpers.log_me
b5e0 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 66 6c 6f 77 5f 63 6c thod_call.....def.create_flow_cl
b600 61 73 73 69 66 69 65 72 28 73 65 6c 66 2c 20 63 6f 6e 74 65 78 74 29 3a 0a 20 20 20 20 20 20 20 assifier(self,.context):........
b620 20 65 6e 74 69 74 79 5f 70 61 74 68 20 3d 20 27 66 6c 6f 77 5f 63 6c 61 73 73 69 66 69 65 72 73 .entity_path.=.'flow_classifiers
b640 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 65 78 74 2e 63 75 72 '.........resource.=.context.cur
b660 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
b680 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
b6a0 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 20 20 20 20 20 20 20 s_auth,.'post',.................
b6c0 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 7b 27 66 6c 6f 77 5f ............entity_path,.{'flow_
b6e0 63 6c 61 73 73 69 66 69 65 72 27 3a 20 72 65 73 6f 75 72 63 65 7d 29 0a 0a 20 20 20 20 40 6c 6f classifier':.resource})......@lo
b700 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 65 g_helpers.log_method_call.....de
b720 66 20 75 70 64 61 74 65 5f 66 6c 6f 77 5f 63 6c 61 73 73 69 66 69 65 72 28 73 65 6c 66 2c 20 63 f.update_flow_classifier(self,.c
b740 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.=.'
b760 66 6c 6f 77 5f 63 6c 61 73 73 69 66 69 65 72 73 2f 27 20 2b 20 63 6f 6e 74 65 78 74 2e 63 75 72 flow_classifiers/'.+.context.cur
b780 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
b7a0 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
b7c0 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,
b7e0 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',.........
b800 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,
b820 20 7b 27 66 6c 6f 77 5f 63 6c 61 73 73 69 66 69 65 72 27 3a 20 72 65 73 6f 75 72 63 65 7d 29 0a .{'flow_classifier':.resource}).
b840 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 63 61 6c .....@log_helpers.log_method_cal
b860 6c 0a 20 20 20 20 64 65 66 20 64 65 6c 65 74 65 5f 66 6c 6f 77 5f 63 6c 61 73 73 69 66 69 65 72 l.....def.delete_flow_classifier
b880 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 5f (self,.context):.........entity_
b8a0 70 61 74 68 20 3d 20 27 66 6c 6f 77 5f 63 6c 61 73 73 69 66 69 65 72 73 2f 27 20 2b 20 63 6f 6e path.=.'flow_classifiers/'.+.con
b8c0 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 20 20 6f 6e 6f 73 5f text.current['id'].........onos_
b8e0 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
b900 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 20 20 20 20 20 20 20 elf.onos_auth,.'delete',........
b920 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
b940 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 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 70 6c 75 67 69 6e 73 2f 73 66 63 2f 5f 5f 69 6e 69 74 5f 5f 2e 70 79 63 00 00 00 00 00 00 00 00 plugins/sfc/__init__.pyc........
ba40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ba60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
ba80 30 30 30 30 32 33 37 00 31 32 37 32 31 35 31 36 31 30 30 00 30 32 32 36 35 31 00 20 30 00 00 00 0000237.12721516100.022651..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 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
bb20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
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 03 f3 0d 0a 44 0b 09 56 63 00 00 00 00 00 00 00 00 01 00 00 00 40 00 00 00 73 04 00 00 00 64 00 ....D..Vc............@...s....d.
bc20 00 53 28 01 00 00 00 4e 28 00 00 00 00 28 00 00 00 00 28 00 00 00 00 28 00 00 00 00 73 48 00 00 .S(....N(....(....(....(....sH..
bc40 00 2f 75 73 72 2f 6c 69 62 2f 70 79 74 68 6f 6e 32 2e 37 2f 64 69 73 74 2d 70 61 63 6b 61 67 65 ./usr/lib/python2.7/dist-package
bc60 73 2f 6e 65 74 77 6f 72 6b 69 6e 67 5f 6f 6e 6f 73 2f 70 6c 75 67 69 6e 73 2f 73 66 63 2f 5f 5f s/networking_onos/plugins/sfc/__
bc80 69 6e 69 74 5f 5f 2e 70 79 74 08 00 00 00 3c 6d 6f 64 75 6c 65 3e 01 00 00 00 73 00 00 00 00 00 init__.pyt....<module>....s.....
bca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bcc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bd00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bd20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bd40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bd60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bd80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bda0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bdc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bde0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
be00 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/
be20 70 6c 75 67 69 6e 73 2f 73 66 63 2f 5f 5f 69 6e 69 74 5f 5f 2e 70 79 00 00 00 00 00 00 00 00 00 plugins/sfc/__init__.py.........
be40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
be60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
be80 30 30 30 30 30 30 30 00 31 32 37 32 31 35 31 36 31 30 30 00 30 32 32 34 37 32 00 20 30 00 00 00 0000000.12721516100.022472..0...
bea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bf00 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
bf20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
bf40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bf60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bf80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bfa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bfc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bfe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c000 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/
c020 70 6c 75 67 69 6e 73 2f 73 66 63 2f 64 72 69 76 65 72 2e 70 79 63 00 00 00 00 00 00 00 00 00 00 plugins/sfc/driver.pyc..........
c040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c060 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
c080 30 30 31 32 36 36 35 00 31 32 37 32 31 35 31 36 31 30 30 00 30 32 32 34 31 35 00 20 30 00 00 00 0012665.12721516100.022415..0...
c0a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c0c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c0e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c100 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
c120 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
c140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c1a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c1c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c1e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c200 03 f3 0d 0a 8c 71 40 56 63 00 00 00 00 00 00 00 00 03 00 00 00 40 00 00 00 73 8c 00 00 00 64 00 .....q@Vc............@...s....d.
c220 00 64 01 00 6c 00 00 6d 01 00 5a 01 00 01 64 00 00 64 02 00 6c 02 00 6d 03 00 5a 04 00 01 64 00 .d..l..m..Z...d..d..l..m..Z...d.
c240 00 64 03 00 6c 02 00 6d 05 00 5a 06 00 01 64 00 00 64 04 00 6c 07 00 6d 08 00 5a 08 00 01 64 00 .d..l..m..Z...d..d..l..m..Z...d.
c260 00 64 05 00 6c 07 00 6d 09 00 5a 0a 00 01 64 00 00 64 06 00 6c 0b 00 6d 0c 00 5a 0d 00 01 65 06 .d..l..m..Z...d..d..l..m..Z...e.
c280 00 6a 0e 00 65 0f 00 83 01 00 5a 10 00 64 07 00 65 0d 00 6a 11 00 66 01 00 64 08 00 84 00 00 83 .j..e.....Z..d..e..j..f..d......
c2a0 00 00 59 5a 12 00 64 09 00 53 28 0a 00 00 00 69 ff ff ff ff 28 01 00 00 00 74 03 00 00 00 63 66 ..YZ..d..S(....i....(....t....cf
c2c0 67 28 01 00 00 00 74 07 00 00 00 68 65 6c 70 65 72 73 28 01 00 00 00 74 03 00 00 00 6c 6f 67 28 g(....t....helpers(....t....log(
c2e0 01 00 00 00 74 06 00 00 00 63 6f 6e 66 69 67 28 01 00 00 00 74 05 00 00 00 75 74 69 6c 73 28 01 ....t....config(....t....utils(.
c300 00 00 00 74 04 00 00 00 62 61 73 65 74 0d 00 00 00 53 46 43 4f 4e 4f 53 44 72 69 76 65 72 63 00 ...t....baset....SFCONOSDriverc.
c320 00 00 00 00 00 00 00 02 00 00 00 42 00 00 00 73 f8 00 00 00 65 00 00 5a 01 00 64 00 00 5a 02 00 ...........B...s....e..Z..d..Z..
c340 64 01 00 84 00 00 5a 03 00 64 02 00 84 00 00 5a 04 00 65 05 00 6a 06 00 64 03 00 84 00 00 83 01 d.....Z..d.....Z..e..j..d.......
c360 00 5a 07 00 65 05 00 6a 06 00 64 04 00 84 00 00 83 01 00 5a 08 00 65 05 00 6a 06 00 64 05 00 84 .Z..e..j..d........Z..e..j..d...
c380 00 00 83 01 00 5a 09 00 65 05 00 6a 06 00 64 06 00 84 00 00 83 01 00 5a 0a 00 65 05 00 6a 06 00 .....Z..e..j..d........Z..e..j..
c3a0 64 07 00 84 00 00 83 01 00 5a 0b 00 65 05 00 6a 06 00 64 08 00 84 00 00 83 01 00 5a 0c 00 65 05 d........Z..e..j..d........Z..e.
c3c0 00 6a 06 00 64 09 00 84 00 00 83 01 00 5a 0d 00 65 05 00 6a 06 00 64 0a 00 84 00 00 83 01 00 5a .j..d........Z..e..j..d........Z
c3e0 0e 00 65 05 00 6a 06 00 64 0b 00 84 00 00 83 01 00 5a 0f 00 65 05 00 6a 06 00 64 0c 00 84 00 00 ..e..j..d........Z..e..j..d.....
c400 83 01 00 5a 10 00 65 05 00 6a 06 00 64 0d 00 84 00 00 83 01 00 5a 11 00 65 05 00 6a 06 00 64 0e ...Z..e..j..d........Z..e..j..d.
c420 00 84 00 00 83 01 00 5a 12 00 52 53 28 0f 00 00 00 73 92 00 00 00 4f 70 65 6e 20 4e 65 74 77 6f .......Z..RS(....s....Open.Netwo
c440 72 6b 69 6e 67 20 4f 70 65 72 61 74 69 6e 67 20 53 79 73 74 65 6d 20 53 46 43 20 44 72 69 76 65 rking.Operating.System.SFC.Drive
c460 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 68 69 63 68 20 6d r.for.Neutron.......Code.which.m
c480 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 20 4f 4e 4f 53 20 akes.communication.between.ONOS.
c4a0 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 70 6f 73 73 69 62 and.OpenStack.Neutron.....possib
c4c0 6c 65 2e 0a 20 20 20 20 63 01 00 00 00 01 00 00 00 02 00 00 00 43 00 00 00 73 37 00 00 00 74 00 le......c............C...s7...t.
c4e0 00 6a 01 00 6a 02 00 6a 03 00 7c 00 00 5f 04 00 74 00 00 6a 01 00 6a 02 00 6a 05 00 74 00 00 6a .j..j..j..|.._..t..j..j..j..t..j
c500 01 00 6a 02 00 6a 06 00 66 02 00 7c 00 00 5f 07 00 64 00 00 53 28 01 00 00 00 4e 28 08 00 00 00 ..j..j..f..|.._..d..S(....N(....
c520 52 00 00 00 00 74 04 00 00 00 43 4f 4e 46 74 04 00 00 00 6f 6e 6f 73 74 08 00 00 00 75 72 6c 5f R....t....CONFt....onost....url_
c540 70 61 74 68 74 09 00 00 00 6f 6e 6f 73 5f 70 61 74 68 74 08 00 00 00 75 73 65 72 6e 61 6d 65 74 patht....onos_patht....usernamet
c560 08 00 00 00 70 61 73 73 77 6f 72 64 74 09 00 00 00 6f 6e 6f 73 5f 61 75 74 68 28 01 00 00 00 74 ....passwordt....onos_auth(....t
c580 04 00 00 00 73 65 6c 66 28 00 00 00 00 28 00 00 00 00 73 46 00 00 00 2f 75 73 72 2f 6c 69 62 2f ....self(....(....sF.../usr/lib/
c5a0 70 79 74 68 6f 6e 32 2e 37 2f 64 69 73 74 2d 70 61 63 6b 61 67 65 73 2f 6e 65 74 77 6f 72 6b 69 python2.7/dist-packages/networki
c5c0 6e 67 5f 6f 6e 6f 73 2f 70 6c 75 67 69 6e 73 2f 73 66 63 2f 64 72 69 76 65 72 2e 70 79 74 08 00 ng_onos/plugins/sfc/driver.pyt..
c5e0 00 00 5f 5f 69 6e 69 74 5f 5f 23 00 00 00 73 04 00 00 00 00 01 12 01 63 01 00 00 00 01 00 00 00 ..__init__#...s........c........
c600 01 00 00 00 43 00 00 00 73 04 00 00 00 64 00 00 53 28 01 00 00 00 4e 28 00 00 00 00 28 01 00 00 ....C...s....d..S(....N(....(...
c620 00 52 0e 00 00 00 28 00 00 00 00 28 00 00 00 00 73 46 00 00 00 2f 75 73 72 2f 6c 69 62 2f 70 79 .R....(....(....sF.../usr/lib/py
c640 74 68 6f 6e 32 2e 37 2f 64 69 73 74 2d 70 61 63 6b 61 67 65 73 2f 6e 65 74 77 6f 72 6b 69 6e 67 thon2.7/dist-packages/networking
c660 5f 6f 6e 6f 73 2f 70 6c 75 67 69 6e 73 2f 73 66 63 2f 64 72 69 76 65 72 2e 70 79 74 0a 00 00 00 _onos/plugins/sfc/driver.pyt....
c680 69 6e 69 74 69 61 6c 69 7a 65 27 00 00 00 73 02 00 00 00 00 03 63 02 00 00 00 04 00 00 00 08 00 initialize'...s......c..........
c6a0 00 00 43 00 00 00 73 3f 00 00 00 64 01 00 7d 02 00 7c 01 00 6a 00 00 6a 01 00 83 00 00 7d 03 00 ..C...s?...d..}..|..j..j.....}..
c6c0 74 02 00 6a 03 00 7c 00 00 6a 04 00 7c 00 00 6a 05 00 64 02 00 7c 02 00 69 01 00 7c 03 00 64 03 t..j..|..j..|..j..d..|..i..|..d.
c6e0 00 36 83 05 00 01 64 00 00 53 28 04 00 00 00 4e 74 0b 00 00 00 70 6f 72 74 5f 63 68 61 69 6e 73 .6....d..S(....Nt....port_chains
c700 74 04 00 00 00 70 6f 73 74 74 0a 00 00 00 70 6f 72 74 5f 63 68 61 69 6e 28 06 00 00 00 74 07 00 t....postt....port_chain(....t..
c720 00 00 63 75 72 72 65 6e 74 74 04 00 00 00 63 6f 70 79 74 0a 00 00 00 6f 6e 6f 73 5f 75 74 69 6c ..currentt....copyt....onos_util
c740 73 74 08 00 00 00 73 65 6e 64 5f 6d 73 67 52 0a 00 00 00 52 0d 00 00 00 28 04 00 00 00 52 0e 00 st....send_msgR....R....(....R..
c760 00 00 74 07 00 00 00 63 6f 6e 74 65 78 74 74 0b 00 00 00 65 6e 74 69 74 79 5f 70 61 74 68 74 08 ..t....contextt....entity_patht.
c780 00 00 00 72 65 73 6f 75 72 63 65 28 00 00 00 00 28 00 00 00 00 73 46 00 00 00 2f 75 73 72 2f 6c ...resource(....(....sF.../usr/l
c7a0 69 62 2f 70 79 74 68 6f 6e 32 2e 37 2f 64 69 73 74 2d 70 61 63 6b 61 67 65 73 2f 6e 65 74 77 6f ib/python2.7/dist-packages/netwo
c7c0 72 6b 69 6e 67 5f 6f 6e 6f 73 2f 70 6c 75 67 69 6e 73 2f 73 66 63 2f 64 72 69 76 65 72 2e 70 79 rking_onos/plugins/sfc/driver.py
c7e0 74 11 00 00 00 63 72 65 61 74 65 5f 70 6f 72 74 5f 63 68 61 69 6e 2c 00 00 00 73 08 00 00 00 00 t....create_port_chain,...s.....
c800 02 06 01 0f 01 15 01 63 02 00 00 00 04 00 00 00 08 00 00 00 43 00 00 00 73 4a 00 00 00 64 01 00 .......c............C...sJ...d..
c820 7c 01 00 6a 00 00 64 02 00 19 17 7d 02 00 7c 01 00 6a 00 00 6a 01 00 83 00 00 7d 03 00 74 02 00 |..j..d....}..|..j..j.....}..t..
c840 6a 03 00 7c 00 00 6a 04 00 7c 00 00 6a 05 00 64 03 00 7c 02 00 69 01 00 7c 03 00 64 04 00 36 83 j..|..j..|..j..d..|..i..|..d..6.
c860 05 00 01 64 00 00 53 28 05 00 00 00 4e 73 0c 00 00 00 70 6f 72 74 5f 63 68 61 69 6e 73 2f 74 02 ...d..S(....Ns....port_chains/t.
c880 00 00 00 69 64 74 03 00 00 00 70 75 74 52 13 00 00 00 28 06 00 00 00 52 14 00 00 00 52 15 00 00 ...idt....putR....(....R....R...
c8a0 00 52 16 00 00 00 52 17 00 00 00 52 0a 00 00 00 52 0d 00 00 00 28 04 00 00 00 52 0e 00 00 00 52 .R....R....R....R....(....R....R
c8c0 18 00 00 00 52 19 00 00 00 52 1a 00 00 00 28 00 00 00 00 28 00 00 00 00 73 46 00 00 00 2f 75 73 ....R....R....(....(....sF.../us
c8e0 72 2f 6c 69 62 2f 70 79 74 68 6f 6e 32 2e 37 2f 64 69 73 74 2d 70 61 63 6b 61 67 65 73 2f 6e 65 r/lib/python2.7/dist-packages/ne
c900 74 77 6f 72 6b 69 6e 67 5f 6f 6e 6f 73 2f 70 6c 75 67 69 6e 73 2f 73 66 63 2f 64 72 69 76 65 72 tworking_onos/plugins/sfc/driver
c920 2e 70 79 74 11 00 00 00 75 70 64 61 74 65 5f 70 6f 72 74 5f 63 68 61 69 6e 33 00 00 00 73 08 00 .pyt....update_port_chain3...s..
c940 00 00 00 02 11 01 0f 01 15 01 63 02 00 00 00 03 00 00 00 05 00 00 00 43 00 00 00 73 31 00 00 00 ..........c............C...s1...
c960 64 01 00 7c 01 00 6a 00 00 64 02 00 19 17 7d 02 00 74 01 00 6a 02 00 7c 00 00 6a 03 00 7c 00 00 d..|..j..d....}..t..j..|..j..|..
c980 6a 04 00 64 03 00 7c 02 00 83 04 00 01 64 00 00 53 28 04 00 00 00 4e 73 0c 00 00 00 70 6f 72 74 j..d..|......d..S(....Ns....port
c9a0 5f 63 68 61 69 6e 73 2f 52 1c 00 00 00 74 06 00 00 00 64 65 6c 65 74 65 28 05 00 00 00 52 14 00 _chains/R....t....delete(....R..
c9c0 00 00 52 16 00 00 00 52 17 00 00 00 52 0a 00 00 00 52 0d 00 00 00 28 03 00 00 00 52 0e 00 00 00 ..R....R....R....R....(....R....
c9e0 52 18 00 00 00 52 19 00 00 00 28 00 00 00 00 28 00 00 00 00 73 46 00 00 00 2f 75 73 72 2f 6c 69 R....R....(....(....sF.../usr/li
ca00 62 2f 70 79 74 68 6f 6e 32 2e 37 2f 64 69 73 74 2d 70 61 63 6b 61 67 65 73 2f 6e 65 74 77 6f 72 b/python2.7/dist-packages/networ
ca20 6b 69 6e 67 5f 6f 6e 6f 73 2f 70 6c 75 67 69 6e 73 2f 73 66 63 2f 64 72 69 76 65 72 2e 70 79 74 king_onos/plugins/sfc/driver.pyt
ca40 11 00 00 00 64 65 6c 65 74 65 5f 70 6f 72 74 5f 63 68 61 69 6e 3a 00 00 00 73 06 00 00 00 00 02 ....delete_port_chain:...s......
ca60 11 01 15 01 63 02 00 00 00 04 00 00 00 08 00 00 00 43 00 00 00 73 3f 00 00 00 64 01 00 7d 02 00 ....c............C...s?...d..}..
ca80 7c 01 00 6a 00 00 6a 01 00 83 00 00 7d 03 00 74 02 00 6a 03 00 7c 00 00 6a 04 00 7c 00 00 6a 05 |..j..j.....}..t..j..|..j..|..j.
caa0 00 64 02 00 7c 02 00 69 01 00 7c 03 00 64 03 00 36 83 05 00 01 64 00 00 53 28 04 00 00 00 4e 74 .d..|..i..|..d..6....d..S(....Nt
cac0 0a 00 00 00 70 6f 72 74 5f 70 61 69 72 73 52 12 00 00 00 74 09 00 00 00 70 6f 72 74 5f 70 61 69 ....port_pairsR....t....port_pai
cae0 72 28 06 00 00 00 52 14 00 00 00 52 15 00 00 00 52 16 00 00 00 52 17 00 00 00 52 0a 00 00 00 52 r(....R....R....R....R....R....R
cb00 0d 00 00 00 28 04 00 00 00 52 0e 00 00 00 52 18 00 00 00 52 19 00 00 00 52 1a 00 00 00 28 00 00 ....(....R....R....R....R....(..
cb20 00 00 28 00 00 00 00 73 46 00 00 00 2f 75 73 72 2f 6c 69 62 2f 70 79 74 68 6f 6e 32 2e 37 2f 64 ..(....sF.../usr/lib/python2.7/d
cb40 69 73 74 2d 70 61 63 6b 61 67 65 73 2f 6e 65 74 77 6f 72 6b 69 6e 67 5f 6f 6e 6f 73 2f 70 6c 75 ist-packages/networking_onos/plu
cb60 67 69 6e 73 2f 73 66 63 2f 64 72 69 76 65 72 2e 70 79 74 10 00 00 00 63 72 65 61 74 65 5f 70 6f gins/sfc/driver.pyt....create_po
cb80 72 74 5f 70 61 69 72 40 00 00 00 73 08 00 00 00 00 02 06 01 0f 01 15 01 63 02 00 00 00 04 00 00 rt_pair@...s............c.......
cba0 00 08 00 00 00 43 00 00 00 73 4a 00 00 00 64 01 00 7c 01 00 6a 00 00 64 02 00 19 17 7d 02 00 7c .....C...sJ...d..|..j..d....}..|
cbc0 01 00 6a 00 00 6a 01 00 83 00 00 7d 03 00 74 02 00 6a 03 00 7c 00 00 6a 04 00 7c 00 00 6a 05 00 ..j..j.....}..t..j..|..j..|..j..
cbe0 64 03 00 7c 02 00 69 01 00 7c 03 00 64 04 00 36 83 05 00 01 64 00 00 53 28 05 00 00 00 4e 73 0b d..|..i..|..d..6....d..S(....Ns.
cc00 00 00 00 70 6f 72 74 5f 70 61 69 72 73 2f 52 1c 00 00 00 52 1d 00 00 00 52 22 00 00 00 28 06 00 ...port_pairs/R....R....R"...(..
cc20 00 00 52 14 00 00 00 52 15 00 00 00 52 16 00 00 00 52 17 00 00 00 52 0a 00 00 00 52 0d 00 00 00 ..R....R....R....R....R....R....
cc40 28 04 00 00 00 52 0e 00 00 00 52 18 00 00 00 52 19 00 00 00 52 1a 00 00 00 28 00 00 00 00 28 00 (....R....R....R....R....(....(.
cc60 00 00 00 73 46 00 00 00 2f 75 73 72 2f 6c 69 62 2f 70 79 74 68 6f 6e 32 2e 37 2f 64 69 73 74 2d ...sF.../usr/lib/python2.7/dist-
cc80 70 61 63 6b 61 67 65 73 2f 6e 65 74 77 6f 72 6b 69 6e 67 5f 6f 6e 6f 73 2f 70 6c 75 67 69 6e 73 packages/networking_onos/plugins
cca0 2f 73 66 63 2f 64 72 69 76 65 72 2e 70 79 74 10 00 00 00 75 70 64 61 74 65 5f 70 6f 72 74 5f 70 /sfc/driver.pyt....update_port_p
ccc0 61 69 72 47 00 00 00 73 08 00 00 00 00 02 11 01 0f 01 15 01 63 02 00 00 00 03 00 00 00 05 00 00 airG...s............c...........
cce0 00 43 00 00 00 73 31 00 00 00 64 01 00 7c 01 00 6a 00 00 64 02 00 19 17 7d 02 00 74 01 00 6a 02 .C...s1...d..|..j..d....}..t..j.
cd00 00 7c 00 00 6a 03 00 7c 00 00 6a 04 00 64 03 00 7c 02 00 83 04 00 01 64 00 00 53 28 04 00 00 00 .|..j..|..j..d..|......d..S(....
cd20 4e 73 0b 00 00 00 70 6f 72 74 5f 70 61 69 72 73 2f 52 1c 00 00 00 52 1f 00 00 00 28 05 00 00 00 Ns....port_pairs/R....R....(....
cd40 52 14 00 00 00 52 16 00 00 00 52 17 00 00 00 52 0a 00 00 00 52 0d 00 00 00 28 03 00 00 00 52 0e R....R....R....R....R....(....R.
cd60 00 00 00 52 18 00 00 00 52 19 00 00 00 28 00 00 00 00 28 00 00 00 00 73 46 00 00 00 2f 75 73 72 ...R....R....(....(....sF.../usr
cd80 2f 6c 69 62 2f 70 79 74 68 6f 6e 32 2e 37 2f 64 69 73 74 2d 70 61 63 6b 61 67 65 73 2f 6e 65 74 /lib/python2.7/dist-packages/net
cda0 77 6f 72 6b 69 6e 67 5f 6f 6e 6f 73 2f 70 6c 75 67 69 6e 73 2f 73 66 63 2f 64 72 69 76 65 72 2e working_onos/plugins/sfc/driver.
cdc0 70 79 74 10 00 00 00 64 65 6c 65 74 65 5f 70 6f 72 74 5f 70 61 69 72 4e 00 00 00 73 06 00 00 00 pyt....delete_port_pairN...s....
cde0 00 02 11 01 15 01 63 02 00 00 00 04 00 00 00 08 00 00 00 43 00 00 00 73 3f 00 00 00 64 01 00 7d ......c............C...s?...d..}
ce00 02 00 7c 01 00 6a 00 00 6a 01 00 83 00 00 7d 03 00 74 02 00 6a 03 00 7c 00 00 6a 04 00 7c 00 00 ..|..j..j.....}..t..j..|..j..|..
ce20 6a 05 00 64 02 00 7c 02 00 69 01 00 7c 03 00 64 03 00 36 83 05 00 01 64 00 00 53 28 04 00 00 00 j..d..|..i..|..d..6....d..S(....
ce40 4e 74 10 00 00 00 70 6f 72 74 5f 70 61 69 72 5f 67 72 6f 75 70 73 52 12 00 00 00 74 0f 00 00 00 Nt....port_pair_groupsR....t....
ce60 70 6f 72 74 5f 70 61 69 72 5f 67 72 6f 75 70 28 06 00 00 00 52 14 00 00 00 52 15 00 00 00 52 16 port_pair_group(....R....R....R.
ce80 00 00 00 52 17 00 00 00 52 0a 00 00 00 52 0d 00 00 00 28 04 00 00 00 52 0e 00 00 00 52 18 00 00 ...R....R....R....(....R....R...
cea0 00 52 19 00 00 00 52 1a 00 00 00 28 00 00 00 00 28 00 00 00 00 73 46 00 00 00 2f 75 73 72 2f 6c .R....R....(....(....sF.../usr/l
cec0 69 62 2f 70 79 74 68 6f 6e 32 2e 37 2f 64 69 73 74 2d 70 61 63 6b 61 67 65 73 2f 6e 65 74 77 6f ib/python2.7/dist-packages/netwo
cee0 72 6b 69 6e 67 5f 6f 6e 6f 73 2f 70 6c 75 67 69 6e 73 2f 73 66 63 2f 64 72 69 76 65 72 2e 70 79 rking_onos/plugins/sfc/driver.py
cf00 74 16 00 00 00 63 72 65 61 74 65 5f 70 6f 72 74 5f 70 61 69 72 5f 67 72 6f 75 70 54 00 00 00 73 t....create_port_pair_groupT...s
cf20 08 00 00 00 00 02 06 01 0f 01 15 01 63 02 00 00 00 04 00 00 00 08 00 00 00 43 00 00 00 73 4a 00 ............c............C...sJ.
cf40 00 00 64 01 00 7c 01 00 6a 00 00 64 02 00 19 17 7d 02 00 7c 01 00 6a 00 00 6a 01 00 83 00 00 7d ..d..|..j..d....}..|..j..j.....}
cf60 03 00 74 02 00 6a 03 00 7c 00 00 6a 04 00 7c 00 00 6a 05 00 64 03 00 7c 02 00 69 01 00 7c 03 00 ..t..j..|..j..|..j..d..|..i..|..
cf80 64 04 00 36 83 05 00 01 64 00 00 53 28 05 00 00 00 4e 73 11 00 00 00 70 6f 72 74 5f 70 61 69 72 d..6....d..S(....Ns....port_pair
cfa0 5f 67 72 6f 75 70 73 2f 52 1c 00 00 00 52 1d 00 00 00 52 27 00 00 00 28 06 00 00 00 52 14 00 00 _groups/R....R....R'...(....R...
cfc0 00 52 15 00 00 00 52 16 00 00 00 52 17 00 00 00 52 0a 00 00 00 52 0d 00 00 00 28 04 00 00 00 52 .R....R....R....R....R....(....R
cfe0 0e 00 00 00 52 18 00 00 00 52 19 00 00 00 52 1a 00 00 00 28 00 00 00 00 28 00 00 00 00 73 46 00 ....R....R....R....(....(....sF.
d000 00 00 2f 75 73 72 2f 6c 69 62 2f 70 79 74 68 6f 6e 32 2e 37 2f 64 69 73 74 2d 70 61 63 6b 61 67 ../usr/lib/python2.7/dist-packag
d020 65 73 2f 6e 65 74 77 6f 72 6b 69 6e 67 5f 6f 6e 6f 73 2f 70 6c 75 67 69 6e 73 2f 73 66 63 2f 64 es/networking_onos/plugins/sfc/d
d040 72 69 76 65 72 2e 70 79 74 16 00 00 00 75 70 64 61 74 65 5f 70 6f 72 74 5f 70 61 69 72 5f 67 72 river.pyt....update_port_pair_gr
d060 6f 75 70 5b 00 00 00 73 08 00 00 00 00 02 11 01 0f 01 15 01 63 02 00 00 00 03 00 00 00 05 00 00 oup[...s............c...........
d080 00 43 00 00 00 73 31 00 00 00 64 01 00 7c 01 00 6a 00 00 64 02 00 19 17 7d 02 00 74 01 00 6a 02 .C...s1...d..|..j..d....}..t..j.
d0a0 00 7c 00 00 6a 03 00 7c 00 00 6a 04 00 64 03 00 7c 02 00 83 04 00 01 64 00 00 53 28 04 00 00 00 .|..j..|..j..d..|......d..S(....
d0c0 4e 73 11 00 00 00 70 6f 72 74 5f 70 61 69 72 5f 67 72 6f 75 70 73 2f 52 1c 00 00 00 52 1f 00 00 Ns....port_pair_groups/R....R...
d0e0 00 28 05 00 00 00 52 14 00 00 00 52 16 00 00 00 52 17 00 00 00 52 0a 00 00 00 52 0d 00 00 00 28 .(....R....R....R....R....R....(
d100 03 00 00 00 52 0e 00 00 00 52 18 00 00 00 52 19 00 00 00 28 00 00 00 00 28 00 00 00 00 73 46 00 ....R....R....R....(....(....sF.
d120 00 00 2f 75 73 72 2f 6c 69 62 2f 70 79 74 68 6f 6e 32 2e 37 2f 64 69 73 74 2d 70 61 63 6b 61 67 ../usr/lib/python2.7/dist-packag
d140 65 73 2f 6e 65 74 77 6f 72 6b 69 6e 67 5f 6f 6e 6f 73 2f 70 6c 75 67 69 6e 73 2f 73 66 63 2f 64 es/networking_onos/plugins/sfc/d
d160 72 69 76 65 72 2e 70 79 74 16 00 00 00 64 65 6c 65 74 65 5f 70 6f 72 74 5f 70 61 69 72 5f 67 72 river.pyt....delete_port_pair_gr
d180 6f 75 70 62 00 00 00 73 06 00 00 00 00 02 11 01 15 01 63 02 00 00 00 04 00 00 00 08 00 00 00 43 oupb...s..........c............C
d1a0 00 00 00 73 3f 00 00 00 64 01 00 7d 02 00 7c 01 00 6a 00 00 6a 01 00 83 00 00 7d 03 00 74 02 00 ...s?...d..}..|..j..j.....}..t..
d1c0 6a 03 00 7c 00 00 6a 04 00 7c 00 00 6a 05 00 64 02 00 7c 02 00 69 01 00 7c 03 00 64 03 00 36 83 j..|..j..|..j..d..|..i..|..d..6.
d1e0 05 00 01 64 00 00 53 28 04 00 00 00 4e 74 10 00 00 00 66 6c 6f 77 5f 63 6c 61 73 73 69 66 69 65 ...d..S(....Nt....flow_classifie
d200 72 73 52 12 00 00 00 74 0f 00 00 00 66 6c 6f 77 5f 63 6c 61 73 73 69 66 69 65 72 28 06 00 00 00 rsR....t....flow_classifier(....
d220 52 14 00 00 00 52 15 00 00 00 52 16 00 00 00 52 17 00 00 00 52 0a 00 00 00 52 0d 00 00 00 28 04 R....R....R....R....R....R....(.
d240 00 00 00 52 0e 00 00 00 52 18 00 00 00 52 19 00 00 00 52 1a 00 00 00 28 00 00 00 00 28 00 00 00 ...R....R....R....R....(....(...
d260 00 73 46 00 00 00 2f 75 73 72 2f 6c 69 62 2f 70 79 74 68 6f 6e 32 2e 37 2f 64 69 73 74 2d 70 61 .sF.../usr/lib/python2.7/dist-pa
d280 63 6b 61 67 65 73 2f 6e 65 74 77 6f 72 6b 69 6e 67 5f 6f 6e 6f 73 2f 70 6c 75 67 69 6e 73 2f 73 ckages/networking_onos/plugins/s
d2a0 66 63 2f 64 72 69 76 65 72 2e 70 79 74 16 00 00 00 63 72 65 61 74 65 5f 66 6c 6f 77 5f 63 6c 61 fc/driver.pyt....create_flow_cla
d2c0 73 73 69 66 69 65 72 68 00 00 00 73 08 00 00 00 00 02 06 01 0f 01 15 01 63 02 00 00 00 04 00 00 ssifierh...s............c.......
d2e0 00 08 00 00 00 43 00 00 00 73 4a 00 00 00 64 01 00 7c 01 00 6a 00 00 64 02 00 19 17 7d 02 00 7c .....C...sJ...d..|..j..d....}..|
d300 01 00 6a 00 00 6a 01 00 83 00 00 7d 03 00 74 02 00 6a 03 00 7c 00 00 6a 04 00 7c 00 00 6a 05 00 ..j..j.....}..t..j..|..j..|..j..
d320 64 03 00 7c 02 00 69 01 00 7c 03 00 64 04 00 36 83 05 00 01 64 00 00 53 28 05 00 00 00 4e 73 11 d..|..i..|..d..6....d..S(....Ns.
d340 00 00 00 66 6c 6f 77 5f 63 6c 61 73 73 69 66 69 65 72 73 2f 52 1c 00 00 00 52 1d 00 00 00 52 2c ...flow_classifiers/R....R....R,
d360 00 00 00 28 06 00 00 00 52 14 00 00 00 52 15 00 00 00 52 16 00 00 00 52 17 00 00 00 52 0a 00 00 ...(....R....R....R....R....R...
d380 00 52 0d 00 00 00 28 04 00 00 00 52 0e 00 00 00 52 18 00 00 00 52 19 00 00 00 52 1a 00 00 00 28 .R....(....R....R....R....R....(
d3a0 00 00 00 00 28 00 00 00 00 73 46 00 00 00 2f 75 73 72 2f 6c 69 62 2f 70 79 74 68 6f 6e 32 2e 37 ....(....sF.../usr/lib/python2.7
d3c0 2f 64 69 73 74 2d 70 61 63 6b 61 67 65 73 2f 6e 65 74 77 6f 72 6b 69 6e 67 5f 6f 6e 6f 73 2f 70 /dist-packages/networking_onos/p
d3e0 6c 75 67 69 6e 73 2f 73 66 63 2f 64 72 69 76 65 72 2e 70 79 74 16 00 00 00 75 70 64 61 74 65 5f lugins/sfc/driver.pyt....update_
d400 66 6c 6f 77 5f 63 6c 61 73 73 69 66 69 65 72 6f 00 00 00 73 08 00 00 00 00 02 11 01 0f 01 15 01 flow_classifiero...s............
d420 63 02 00 00 00 03 00 00 00 05 00 00 00 43 00 00 00 73 31 00 00 00 64 01 00 7c 01 00 6a 00 00 64 c............C...s1...d..|..j..d
d440 02 00 19 17 7d 02 00 74 01 00 6a 02 00 7c 00 00 6a 03 00 7c 00 00 6a 04 00 64 03 00 7c 02 00 83 ....}..t..j..|..j..|..j..d..|...
d460 04 00 01 64 00 00 53 28 04 00 00 00 4e 73 11 00 00 00 66 6c 6f 77 5f 63 6c 61 73 73 69 66 69 65 ...d..S(....Ns....flow_classifie
d480 72 73 2f 52 1c 00 00 00 52 1f 00 00 00 28 05 00 00 00 52 14 00 00 00 52 16 00 00 00 52 17 00 00 rs/R....R....(....R....R....R...
d4a0 00 52 0a 00 00 00 52 0d 00 00 00 28 03 00 00 00 52 0e 00 00 00 52 18 00 00 00 52 19 00 00 00 28 .R....R....(....R....R....R....(
d4c0 00 00 00 00 28 00 00 00 00 73 46 00 00 00 2f 75 73 72 2f 6c 69 62 2f 70 79 74 68 6f 6e 32 2e 37 ....(....sF.../usr/lib/python2.7
d4e0 2f 64 69 73 74 2d 70 61 63 6b 61 67 65 73 2f 6e 65 74 77 6f 72 6b 69 6e 67 5f 6f 6e 6f 73 2f 70 /dist-packages/networking_onos/p
d500 6c 75 67 69 6e 73 2f 73 66 63 2f 64 72 69 76 65 72 2e 70 79 74 16 00 00 00 64 65 6c 65 74 65 5f lugins/sfc/driver.pyt....delete_
d520 66 6c 6f 77 5f 63 6c 61 73 73 69 66 69 65 72 76 00 00 00 73 06 00 00 00 00 02 11 01 15 01 28 13 flow_classifierv...s..........(.
d540 00 00 00 74 08 00 00 00 5f 5f 6e 61 6d 65 5f 5f 74 0a 00 00 00 5f 5f 6d 6f 64 75 6c 65 5f 5f 74 ...t....__name__t....__module__t
d560 07 00 00 00 5f 5f 64 6f 63 5f 5f 52 0f 00 00 00 52 10 00 00 00 74 0b 00 00 00 6c 6f 67 5f 68 65 ....__doc__R....R....t....log_he
d580 6c 70 65 72 73 74 0f 00 00 00 6c 6f 67 5f 6d 65 74 68 6f 64 5f 63 61 6c 6c 52 1b 00 00 00 52 1e lperst....log_method_callR....R.
d5a0 00 00 00 52 20 00 00 00 52 23 00 00 00 52 24 00 00 00 52 25 00 00 00 52 28 00 00 00 52 29 00 00 ...R....R#...R$...R%...R(...R)..
d5c0 00 52 2a 00 00 00 52 2d 00 00 00 52 2e 00 00 00 52 2f 00 00 00 28 00 00 00 00 28 00 00 00 00 28 .R*...R-...R....R/...(....(....(
d5e0 00 00 00 00 73 46 00 00 00 2f 75 73 72 2f 6c 69 62 2f 70 79 74 68 6f 6e 32 2e 37 2f 64 69 73 74 ....sF.../usr/lib/python2.7/dist
d600 2d 70 61 63 6b 61 67 65 73 2f 6e 65 74 77 6f 72 6b 69 6e 67 5f 6f 6e 6f 73 2f 70 6c 75 67 69 6e -packages/networking_onos/plugin
d620 73 2f 73 66 63 2f 64 72 69 76 65 72 2e 70 79 52 06 00 00 00 1c 00 00 00 73 1e 00 00 00 06 06 06 s/sfc/driver.pyR........s.......
d640 01 09 04 09 05 12 07 12 07 12 06 12 07 12 07 12 06 12 07 12 07 12 06 12 07 12 07 4e 28 13 00 00 ...........................N(...
d660 00 74 0b 00 00 00 6f 73 6c 6f 5f 63 6f 6e 66 69 67 52 00 00 00 00 74 08 00 00 00 6f 73 6c 6f 5f .t....oslo_configR....t....oslo_
d680 6c 6f 67 52 01 00 00 00 52 33 00 00 00 52 02 00 00 00 74 07 00 00 00 6c 6f 67 67 69 6e 67 74 16 logR....R3...R....t....loggingt.
d6a0 00 00 00 6e 65 74 77 6f 72 6b 69 6e 67 5f 6f 6e 6f 73 2e 63 6f 6d 6d 6f 6e 52 03 00 00 00 52 04 ...networking_onos.commonR....R.
d6c0 00 00 00 52 16 00 00 00 74 23 00 00 00 6e 65 74 77 6f 72 6b 69 6e 67 5f 73 66 63 2e 73 65 72 76 ...R....t#...networking_sfc.serv
d6e0 69 63 65 73 2e 73 66 63 2e 64 72 69 76 65 72 73 52 05 00 00 00 74 0b 00 00 00 64 72 69 76 65 72 ices.sfc.driversR....t....driver
d700 5f 62 61 73 65 74 09 00 00 00 67 65 74 4c 6f 67 67 65 72 52 30 00 00 00 74 03 00 00 00 4c 4f 47 _baset....getLoggerR0...t....LOG
d720 74 0d 00 00 00 53 66 63 44 72 69 76 65 72 42 61 73 65 52 06 00 00 00 28 00 00 00 00 28 00 00 00 t....SfcDriverBaseR....(....(...
d740 00 28 00 00 00 00 73 46 00 00 00 2f 75 73 72 2f 6c 69 62 2f 70 79 74 68 6f 6e 32 2e 37 2f 64 69 .(....sF.../usr/lib/python2.7/di
d760 73 74 2d 70 61 63 6b 61 67 65 73 2f 6e 65 74 77 6f 72 6b 69 6e 67 5f 6f 6e 6f 73 2f 70 6c 75 67 st-packages/networking_onos/plug
d780 69 6e 73 2f 73 66 63 2f 64 72 69 76 65 72 2e 70 79 74 08 00 00 00 3c 6d 6f 64 75 6c 65 3e 10 00 ins/sfc/driver.pyt....<module>..
d7a0 00 00 73 0e 00 00 00 10 01 10 01 10 02 10 01 10 02 10 02 0f 03 00 00 00 00 00 00 00 00 00 00 00 ..s.............................
d7c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
d7e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
d800 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/
d820 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.....................
d840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
d860 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
d880 30 30 30 31 32 33 37 00 31 32 36 32 37 35 31 33 34 34 32 00 30 32 30 32 36 36 00 20 30 00 00 00 0001237.12627513442.020266..0...
d8a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
d8c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
d8e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
d900 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
d920 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
d940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
d960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
d980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
d9a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
d9c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
d9e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
da00 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
da20 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
da40 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
da60 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
da80 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
daa0 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
dac0 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
dae0 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.#.#.
db00 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
db20 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
db40 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
db60 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"
db80 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.
dba0 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
dbc0 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
dbe0 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
dc00 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
dc20 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
dc40 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
dc60 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
dc80 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()..
dca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
dcc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
dce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
dd00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
dd20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
dd40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
dd60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
dd80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
dda0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ddc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
dde0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
de00 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/
de20 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/..........................
de40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
de60 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000755.0000000.0000000.0000
de80 30 30 30 30 30 30 30 00 31 32 36 32 37 35 31 33 34 34 32 00 30 31 37 33 31 34 00 20 35 00 00 00 0000000.12627513442.017314..5...
dea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
dec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
dee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
df00 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
df20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
df40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
df60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
df80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
dfa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
dfc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
dfe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e000 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/
e020 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...............
e040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e060 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
e080 30 30 30 30 30 30 30 00 31 32 36 32 37 35 31 33 34 34 32 00 30 32 31 34 31 33 00 20 30 00 00 00 0000000.12627513442.021413..0...
e0a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e0c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e0e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e100 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
e120 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
e140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e1a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e1c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e1e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e200 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/
e220 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/.....................
e240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e260 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000755.0000000.0000000.0000
e280 30 30 30 30 30 30 30 00 31 32 36 32 37 35 31 33 34 34 32 00 30 32 30 32 37 33 00 20 35 00 00 00 0000000.12627513442.020273..5...
e2a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e2c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e2e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e300 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
e320 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
e340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e3a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e3c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e3e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e400 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/
e420 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/.............
e440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e460 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000755.0000000.0000000.0000
e480 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 34 00 20 35 00 00 00 0000000.12627513442.021754..5...
e4a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e4c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e4e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e500 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
e520 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
e540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e5a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e5c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
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 00 00 00 00 00 00 00 00 00 00 tests/unit/plugins/l3/..........
e640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e660 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000755.0000000.0000000.0000
e680 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 32 00 20 35 00 00 00 0000000.12627513442.022272..5...
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 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
e720 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
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 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
e840 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............................
e860 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
e880 30 30 32 34 37 30 37 00 31 32 36 32 37 35 31 33 34 34 32 00 30 32 35 32 31 30 00 20 30 00 00 00 0024707.12627513442.025210..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 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
e920 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
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 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
ea20 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
ea40 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
ea60 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
ea80 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
eaa0 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
eac0 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.
eae0 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.
eb00 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
eb20 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
eb40 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
eb60 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
eb80 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
eba0 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
ebc0 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
ebe0 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
ec00 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
ec20 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
ec40 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
ec60 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
ec80 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
eca0 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
ecc0 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
ece0 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
ed00 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
ed20 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
ed40 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.
ed60 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
ed80 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
eda0 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
edc0 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
ede0 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
ee00 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.
ee20 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
ee40 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',.............................
ee60 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
ee80 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,.............................
eea0 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,....
eec0 20 20 20 20 20 20 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
eee0 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
ef00 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
ef20 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
ef40 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
ef60 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':.....................
ef80 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
efa0 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,........................
efc0 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
efe0 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
f000 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
f020 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':...
f040 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
f060 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',..............
f080 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
f0a0 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_
f0c0 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,..........
f0e0 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,....
f100 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
f120 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
f140 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_
f160 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
f180 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
f1a0 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
f1c0 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
f1e0 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':.
f200 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
f220 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
f240 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',.........................
f260 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,............
f280 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
f2a0 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
f2c0 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,.
f2e0 20 20 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'
f300 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',...............
f320 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
f340 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
f360 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':
f380 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,...............
f3a0 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
f3c0 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,..................
f3e0 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
f400 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',.................
f420 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
f440 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'],.....
f460 20 20 20 20 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
f480 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,............
f4a0 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
f4c0 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
f4e0 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
f500 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
f520 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_
f540 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
f560 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
f580 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
f5a0 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,...........................
f5c0 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
f5e0 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,.....................
f600 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)
f620 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):.........
f640 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
f660 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
f680 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
f6a0 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
f6c0 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
f6e0 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,.........
f700 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
f720 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
f740 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'
f760 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)..
f780 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
f7a0 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
f7c0 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):......
f7e0 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
f800 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
f820 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()
f840 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
f860 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
f880 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
f8a0 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
f8c0 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
f8e0 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
f900 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':............
f920 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
f940 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
f960 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
f980 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..
f9a0 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)
f9c0 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
f9e0 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
fa00 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({
fa20 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
fa40 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
fa60 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.=.
fa80 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
faa0 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
fac0 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
fae0 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).
fb00 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
fb20 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
fb40 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
fb60 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
fb80 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
fba0 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.
fbc0 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
fbe0 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,........................
fc00 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)..
fc20 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)
fc40 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
fc60 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
fc80 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
fca0 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).......
fcc0 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':.
fce0 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
fd00 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_
fd20 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
fd40 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
fd60 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}
fd80 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
fda0 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
fdc0 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.=.
fde0 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
fe00 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
fe20 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.\...........
fe40 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
fe60 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,...........
fe80 20 20 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
fea0 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
fec0 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
fee0 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)...
ff00 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):
ff20 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
ff40 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
ff60 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.=.
ff80 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
ffa0 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
ffc0 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_
ffe0 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,..................
10000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
10020 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)....
10040 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
10060 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)..
10080 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(
100a0 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.=
100c0 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[
100e0 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
10100 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
10120 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
10140 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',.
10160 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})......
10180 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
101a0 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
101c0 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
101e0 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.
10200 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.=
10220 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
10240 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.
10260 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
10280 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
102a0 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',.
102c0 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
102e0 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
10300 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.
10320 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.\....
10340 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
10360 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,......................
10380 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
103a0 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
103c0 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
103e0 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,...........................'
10400 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
10420 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_
10440 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_
10460 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
10480 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
104a0 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
104c0 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
104e0 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
10500 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.
10520 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',.....
10540 20 20 20 20 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
10560 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,........
10580 20 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
105a0 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,
105c0 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 ................................
105e0 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,......
10600 20 20 20 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
10620 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'
10640 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
10660 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
10680 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
106a0 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
106c0 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
106e0 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_
10700 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}........
10720 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
10740 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',.......................
10760 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_
10780 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.=
107a0 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
107c0 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
107e0 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.\.
10800 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
10820 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,...................
10840 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_
10860 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,..........................
10880 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
108a0 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_
108c0 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,.....
108e0 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
10900 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
10920 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):
10940 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.
10960 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
10980 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
109a0 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
109c0 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
109e0 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',.
10a00 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
10a20 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
10a40 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
10a60 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
10a80 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.
10aa0 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
10ac0 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):...
10ae0 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_
10b00 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,............
10b20 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
10b40 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,.........................
10b60 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}.......
10b80 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
10ba0 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
10bc0 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
10be0 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
10c00 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'
10c20 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,..........
10c40 20 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=
10c60 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',.........
10c80 20 20 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
10ca0 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
10cc0 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,.'
10ce0 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
10d00 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.\.........
10d20 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
10d40 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,.........
10d60 20 20 20 20 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
10d80 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
10da0 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,
10dc0 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
10de0 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
10e00 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.=.{
10e20 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,....
10e40 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
10e60 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
10e80 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
10ea0 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
10ec0 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.=
10ee0 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
10f00 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=
10f20 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,...............
10f40 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
10f60 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',...........
10f80 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
10fa0 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_
10fc0 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,.
10fe0 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
11000 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.\.....
11020 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(
11040 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,.....
11060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
11080 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
110a0 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
110c0 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).
110e0 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
11100 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):....
11120 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
11140 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
11160 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).......
11180 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:..........
111a0 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'],.
111c0 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
111e0 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_
11200 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..........
11220 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)....
11240 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]...
11260 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[
11280 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.==
112a0 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
112c0 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
112e0 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
11300 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
11320 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
11340 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
11360 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
11380 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
113a0 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'],
113c0 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)..........................
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 6e 65 74 77 6f 72 6b 69 6e 67 5f 6f 6e 6f 73 2f networking-onos/networking_onos/
11420 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
11440 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...............................
11460 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
11480 30 30 30 30 30 30 30 00 31 32 36 32 37 35 31 33 34 34 32 00 30 32 34 33 37 31 00 20 30 00 00 00 0000000.12627513442.024371..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 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
11520 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
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 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/
11620 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..
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 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
11680 30 30 30 30 30 30 30 00 31 32 36 32 37 35 31 33 34 34 32 00 30 32 34 30 35 33 00 20 30 00 00 00 0000000.12627513442.024053..0...
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 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
11720 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
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 6e 65 74 77 6f 72 6b 69 6e 67 5f 6f 6e 6f 73 2f networking-onos/networking_onos/
11820 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/.........
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 37 35 35 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000755.0000000.0000000.0000
11880 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 36 00 20 35 00 00 00 0000000.12627513442.022446..5...
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 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
11920 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
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 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/
11a20 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
11a40 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...........................
11a60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
11a80 30 30 32 33 37 36 37 00 31 32 36 32 37 35 31 33 34 34 32 00 30 32 35 33 37 31 00 20 30 00 00 00 0023767.12627513442.025371..0...
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 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
11b20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
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 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
11c20 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
11c40 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
11c60 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.
11c80 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.#..
11ca0 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
11cc0 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
11ce0 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
11d00 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
11d20 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.#
11d40 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
11d60 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,
11d80 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
11da0 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
11dc0 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
11de0 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
11e00 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
11e20 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
11e40 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
11e60 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
11e80 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.
11ea0 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
11ec0 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
11ee0 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
11f00 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
11f20 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
11f40 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
11f60 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.
11f80 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
11fa0 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_
11fc0 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
11fe0 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
12000 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
12020 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
12040 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.=.
12060 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',............
12080 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':.[],......
120a0 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'
120c0 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
120e0 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,.....
12100 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_
12120 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,......................
12140 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',...
12160 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
12180 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',..........
121a0 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':
121c0 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,........................'
121e0 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,.................
12200 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,.
12220 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
12240 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
12260 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
12280 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_
122a0 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,.
122c0 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
122e0 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',
12300 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 ................................
12320 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'
12340 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_
12360 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':.[],....................
12380 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,...
123a0 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.
123c0 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',......................
123e0 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,........
12400 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':.'',......
12420 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':.
12440 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
12460 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,....
12480 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':.
124a0 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',..................
124c0 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':.[],.....
124e0 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':.
12500 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',.....................
12520 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,..............
12540 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_
12560 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-
12580 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
125a0 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',........
125c0 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':.
125e0 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
12600 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':.[],............
12620 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
12640 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
12660 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':.{},...............
12680 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':.[],..........
126a0 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,
126c0 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
126e0 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
12700 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
12720 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
12740 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',...........
12760 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':.'',...........
12780 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
127a0 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
127c0 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,..........
127e0 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
12800 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
12820 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':.{},...........
12840 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':.'
12860 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
12880 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',.....
128a0 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':.'
128c0 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
128e0 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
12900 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,.....................
12920 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
12940 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
12960 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
12980 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
129a0 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(
129c0 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)
129e0 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(
12a00 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
12a20 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
12a40 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
12a60 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
12a80 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',
12aa0 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.
12ac0 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........
12ae0 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
12b00 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,......................
12b20 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)....
12b40 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
12b60 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
12b80 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)..
12ba0 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
12bc0 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
12be0 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
12c00 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
12c20 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.=.
12c40 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
12c60 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.=.
12c80 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(
12ca0 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.
12cc0 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).........
12ce0 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':.........
12d00 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
12d20 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
12d40 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'.
12d60 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
12d80 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 ',..............................
12da0 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']).......
12dc0 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':.
12de0 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
12e00 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
12e20 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
12e40 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
12e60 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
12e80 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
12ea0 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
12ec0 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
12ee0 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)...
12f00 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
12f20 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)........
12f40 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
12f60 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
12f80 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:.
12fa0 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_
12fc0 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).............
12fe0 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
13000 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)....
13020 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
13040 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
13060 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
13080 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
130a0 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).
130c0 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
130e0 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',.....................
13100 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
13120 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
13140 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)......
13160 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
13180 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
131a0 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_
131c0 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
131e0 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
13200 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.=.
13220 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
13240 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
13260 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',.........
13280 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
132a0 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
132c0 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
132e0 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
13300 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
13320 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_
13340 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):.
13360 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
13380 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).........
133a0 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
133c0 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.
133e0 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',..
13400 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
13420 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:.......
13440 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
13460 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
13480 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
134a0 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
134c0 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
134e0 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
13500 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)......
13520 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
13540 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
13560 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'
13580 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
135a0 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:....
135c0 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
135e0 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
13600 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',.
13620 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.
13640 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
13660 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
13680 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
136a0 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
136c0 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)...
136e0 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.
13700 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',.......................
13720 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
13740 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
13760 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).........
13780 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,
137a0 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
137c0 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
137e0 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.=.
13800 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
13820 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
13840 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)..
13860 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
13880 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',......................
138a0 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
138c0 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
138e0 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)..........
13900 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,.
13920 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)....
13940 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
13960 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.
13980 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)..
139a0 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
139c0 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).......
139e0 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
13a00 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
13a20 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:
13a40 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
13a60 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
13a80 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'
13aa0 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.
13ac0 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
13ae0 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
13b00 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})..
13b20 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
13b40 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).......
13b60 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
13b80 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
13ba0 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:
13bc0 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
13be0 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
13c00 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
13c20 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)......#
13c40 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
13c60 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.=.{........
13c80 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
13ca0 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
13cc0 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:.
13ce0 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
13d00 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
13d20 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
13d40 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',.
13d60 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
13d80 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
13da0 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
13dc0 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:
13de0 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
13e00 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):.....
13e20 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
13e40 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
13e60 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......
13e80 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
13ea0 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,
13ec0 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
13ee0 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
13f00 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,.......................
13f20 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
13f40 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
13f60 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.
13f80 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
13fa0 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
13fc0 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
13fe0 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.
14000 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:
14020 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
14040 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
14060 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
14080 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
140a0 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,..............
140c0 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
140e0 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},........
14100 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)..
14120 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):...
14140 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
14160 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.=."
14180 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.
141a0 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
141c0 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.=
141e0 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
14200 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'
14220 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'},........
14240 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
14260 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]
14280 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)..
142a0 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....
142c0 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
142e0 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
14300 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
14320 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
14340 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
14360 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(..
14380 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
143a0 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,...........
143c0 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
143e0 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)..........
14400 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/
14420 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__.
14440 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..............................
14460 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
14480 30 30 30 30 30 30 30 00 31 32 36 32 37 35 31 33 34 34 32 00 30 32 34 35 34 35 00 20 30 00 00 00 0000000.12627513442.024545..0...
144a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
144c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
144e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14500 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
14520 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
14540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
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 6e 65 74 77 6f 72 6b 69 6e 67 5f 6f 6e 6f 73 2f networking-onos/networking_onos/
14620 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..........
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 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
14680 30 30 30 30 30 30 30 00 31 32 36 32 37 35 31 33 34 34 32 00 30 32 32 33 37 32 00 20 30 00 00 00 0000000.12627513442.022372..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 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
14720 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
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 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/............
14820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14860 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000755.0000000.0000000.0000
14880 30 30 30 30 30 30 30 00 31 32 36 32 37 35 31 33 34 34 32 00 30 31 33 34 37 32 00 20 35 00 00 00 0000000.12627513442.013472..5...
148a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
148c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
148e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14900 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
14920 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
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 64 6f 63 2f 73 6f 75 72 63 65 2f 00 00 00 00 00 networking-onos/doc/source/.....
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 37 35 35 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000755.0000000.0000000.0000
14a80 30 30 30 30 30 30 30 00 31 32 36 32 37 35 31 33 34 34 32 00 30 31 34 37 37 32 00 20 35 00 00 00 0000000.12627513442.014772..5...
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 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
14b20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
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 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
14c20 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...........................
14c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14c60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
14c80 30 30 30 30 30 33 36 00 31 32 36 32 37 35 31 33 34 34 32 00 30 31 36 37 36 30 00 20 30 00 00 00 0000036.12627513442.016760..0...
14ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14d00 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
14d20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
14d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14e00 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...
14e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15000 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
15020 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............................
15040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15060 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
15080 30 30 30 30 31 33 33 00 31 32 36 32 37 35 31 33 34 34 32 00 30 31 36 36 32 35 00 20 30 00 00 00 0000133.12627513442.016625..0...
150a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
150c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
150e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15100 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
15120 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
15140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
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 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.
15220 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::..
15240 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......
15260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
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 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
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 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
15420 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.....................
15440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15460 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
15480 30 30 30 30 31 31 33 00 31 32 36 32 37 35 31 33 34 34 32 00 30 32 30 32 32 36 00 20 30 00 00 00 0000113.12627513442.020226..0...
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 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
15520 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
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 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.======
15620 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
15640 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......................
15660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
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 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
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 64 6f 63 2f 73 6f 75 72 63 65 2f 69 6e 73 74 61 networking-onos/doc/source/insta
15820 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.....................
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 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
15880 30 30 30 30 33 32 36 00 31 32 36 32 37 35 31 33 34 34 32 00 30 32 30 32 32 36 00 20 30 00 00 00 0000326.12627513442.020226..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 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
15920 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
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 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.======
15a20 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::...
15a40 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
15a60 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
15a80 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
15aa0 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
15ac0 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...........
15ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15c00 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
15c20 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............................
15c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15c60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
15c80 30 30 30 31 30 30 31 00 31 32 36 32 37 35 31 33 34 34 32 00 30 31 36 36 32 33 00 20 30 00 00 00 0001001.12627513442.016623..0...
15ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
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 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
15d20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
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 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
15e20 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
15e40 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
15e60 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
15e80 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,
15ea0 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
15ec0 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.
15ee0 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
15f00 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!.==================
15f20 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 ================================
15f40 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::.
15f60 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
15f80 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
15fa0 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.========
15fc0 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`.*.
15fe0 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`.
16000 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 ................................
16020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
160a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
160c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
160e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
161a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
161c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
161e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16200 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.
16220 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..............................
16240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16260 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
16280 30 30 30 34 36 33 37 00 31 32 36 32 37 35 31 33 34 34 32 00 30 31 36 33 30 33 00 20 30 00 00 00 0004637.12627513442.016303..0...
162a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
162c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
162e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16300 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
16320 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
16340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
163a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
163c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
163e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16400 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
16420 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
16440 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.
16460 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.
16480 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
164a0 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
164c0 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.
164e0 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
16500 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
16520 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
16540 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
16560 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
16580 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
165a0 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
165c0 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
165e0 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
16600 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
16620 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
16640 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(
16660 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('../..')).#.-
16680 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.--------
166a0 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 --------------------------------
166c0 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
166e0 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
16700 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
16720 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
16740 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..
16760 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
16780 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
167a0 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
167c0 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
167e0 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
16800 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
16820 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
16840 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
16860 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
16880 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
168a0 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
168c0 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
168e0 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
16900 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,
16920 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
16940 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
16960 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
16980 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..#
169a0 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
169c0 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
169e0 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...
16a00 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.=
16a20 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
16a40 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
16a60 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'.
16a80 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.--
16aa0 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 --------------------------------
16ac0 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
16ae0 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
16b00 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.
16b20 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'
16b40 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
16b60 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
16b80 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
16ba0 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
16bc0 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
16be0 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
16c00 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
16c20 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
16c40 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
16c60 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
16c80 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.=.[.
16ca0 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
16cc0 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'.
16ce0 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
16d00 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
16d20 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:.
16d40 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
16d60 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
16d80 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}..
16da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16e00 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.....
16e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16e60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
16e80 30 30 31 32 32 31 32 00 31 32 36 32 37 35 31 33 34 34 32 00 30 31 34 35 37 32 00 20 30 00 00 00 0012212.12627513442.014572..0...
16ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16f00 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
16f20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
16f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17000 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.===============.
17020 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
17040 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
17060 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
17080 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
170a0 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
170c0 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
170e0 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
17100 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
17120 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
17140 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
17160 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
17180 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..
171a0 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,
171c0 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
171e0 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
17200 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.
17220 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.
17240 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
17260 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.------------------
17280 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
172a0 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
172c0 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
172e0 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
17300 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
17320 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
17340 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.
17360 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.
17380 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.
173a0 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.~~~~~~~~~
173c0 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
173e0 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
17400 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
17420 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
17440 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
17460 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.
17480 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
174a0 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
174c0 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
174e0 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
17500 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
17520 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::..
17540 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
17560 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
17580 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
175a0 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
175c0 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.--------------
175e0 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
17600 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.
17620 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
17640 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
17660 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
17680 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
176a0 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
176c0 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
176e0 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
17700 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
17720 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
17740 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.
17760 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
17780 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
177a0 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`.~~~~
177c0 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.
177e0 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
17800 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
17820 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
17840 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..
17860 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
17880 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
178a0 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.
178c0 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
178e0 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
17900 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
17920 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
17940 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
17960 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.
17980 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
179a0 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
179c0 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
179e0 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
17a00 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:/
17a20 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/
17a40 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`.~~~~~~~~~
17a60 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
17a80 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
17aa0 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
17ac0 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
17ae0 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
17b00 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
17b20 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
17b40 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
17b60 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
17b80 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
17ba0 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.
17bc0 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
17be0 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
17c00 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.
17c20 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
17c40 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
17c60 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
17c80 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
17ca0 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
17cc0 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
17ce0 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
17d00 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:....
17d20 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/
17d40 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
17d60 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:
17d80 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
17da0 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://
17dc0 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.
17de0 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.~~~~~
17e00 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
17e20 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
17e40 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
17e60 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
17e80 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
17ea0 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
17ec0 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
17ee0 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
17f00 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.
17f20 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
17f40 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
17f60 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_
17f80 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
17fa0 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
17fc0 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.~~
17fe0 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
18000 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.
18020 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.
18040 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
18060 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.
18080 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
180a0 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.
180c0 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
180e0 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
18100 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
18120 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
18140 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
18160 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
18180 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
181a0 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
181c0 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.-
181e0 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
18200 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.
18220 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
18240 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
18260 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
18280 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
182a0 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
182c0 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
182e0 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
18300 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
18320 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::....
18340 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
18360 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.--
18380 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
183a0 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
183c0 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
183e0 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
18400 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
18420 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.=
18440 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
18460 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/
18480 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.......................
184a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
184c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
184e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
185a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
185c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
185e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18600 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.......
18620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18660 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
18680 30 30 30 32 35 34 35 00 31 32 36 32 37 35 31 33 34 34 32 00 30 31 34 35 35 34 00 20 30 00 00 00 0002545.12627513442.014554..0...
186a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
186c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
186e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18700 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
18720 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
18740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
187a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
187c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
187e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18800 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
18820 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
18840 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
18860 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
18880 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
188a0 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
188c0 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
188e0 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
18900 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
18920 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.::.
18940 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
18960 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 20 53 6f 66 74 e.::.OSI.Approved.::.Apache.Soft
18980 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 79 73 74 65 ware.License.....Operating.Syste
189a0 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 72 61 6d 6d m.::.POSIX.::.Linux.....Programm
189c0 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 72 6f 67 72 ing.Language.::.Python.....Progr
189e0 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 20 32 0a 20 amming.Language.::.Python.::.2..
18a00 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 79 74 68 6f ...Programming.Language.::.Pytho
18a20 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 0a 20 20 20 n.::.2.7..[files].packages.=....
18a40 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 3d 0a 20 20 .networking_onos.data_files.=...
18a60 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 20 20 20 20 ..etc/neutron/plugins/ml2.=.....
18a80 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 61 6c 5d 0a ....etc/conf_onos.ini..[global].
18aa0 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 73 65 74 75 setup-hooks.=.....pbr.hooks.setu
18ac0 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 6f 6e 2e 6d p_hook..[entry_points].neutron.m
18ae0 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 6e 6f 73 5f l2.mechanism_drivers.=.....onos_
18b00 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 73 2e 6d 6c ml2.=.networking_onos.plugins.ml
18b20 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 0a 6e 65 75 2.driver:ONOSMechanismDriver.neu
18b40 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 6e 6f 73 5f tron.service_plugins.=.....onos_
18b60 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 67 69 6e 73 router.=.networking_onos.plugins
18b80 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 69 6c 64 5f .l3.driver:ONOSL3Plugin..[build_
18ba0 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 64 69 72 20 sphinx].all_files.=.1.build-dir.
18bc0 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 2f 73 6f 75 =.doc/build.source-dir.=.doc/sou
18be0 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 6f 72 64 73 rce..[extract_messages].keywords
18c00 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 79 5f 67 65 .=._.gettext.ngettext.l_.lazy_ge
18c20 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 66 67 0a 6f ttext.mapping_file.=.babel.cfg.o
18c40 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 2f 6c 6f 63 utput_file.=.networking_onos/loc
18c60 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 6d 70 69 6c ale/networking-onos.pot..[compil
18c80 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 72 6b 69 6e e_catalog].directory.=.networkin
18ca0 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 72 6b 69 6e g_onos/locale.domain.=.networkin
18cc0 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 61 69 6e 20 g-onos..[update_catalog].domain.
18ce0 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 20 3d 20 6e =.networking-onos.output_dir.=.n
18d00 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 66 69 6c 65 etworking_onos/locale.input_file
18d20 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 74 77 6f 72 .=.networking_onos/locale/networ
18d40 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 72 73 61 6c king-onos.pot..[wheel].universal
18d60 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 00 00 00 00 .=.1............................
18d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18e00 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
18e20 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...........................
18e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18e60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
18e80 30 30 30 30 36 36 37 00 31 32 36 32 37 35 31 33 34 34 32 00 30 31 37 31 37 37 00 20 30 00 00 00 0000667.12627513442.017177..0...
18ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18f00 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
18f20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
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 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
19020 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
19040 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.
19060 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
19080 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
190a0 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
190c0 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,
190e0 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
19100 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
19120 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.
19140 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.
19160 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
19180 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
191a0 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..........
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 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
19220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19260 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
19280 30 30 30 30 34 34 36 00 31 32 36 32 37 35 31 33 34 34 32 00 30 31 36 32 31 35 00 20 30 00 00 00 0000446.12627513442.016215..0...
192a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
192c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
192e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19300 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
19320 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
19340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
193a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
193c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
193e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19400 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
19420 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
19440 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.
19460 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
19480 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
194a0 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
194c0 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
194e0 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
19500 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
19520 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.............................
19540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
195a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
195c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
195e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19600 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.....
19620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19660 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
19680 30 30 30 30 32 30 32 00 31 32 36 32 37 35 31 33 34 34 32 00 30 31 34 34 35 35 00 20 30 00 00 00 0000202.12627513442.014455..0...
196a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
196c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
196e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19700 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
19720 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
19740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
197a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
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 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
19820 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
19840 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
19860 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
19880 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...............................
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 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
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 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........
19a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19a60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
19a80 30 30 30 32 30 30 34 00 31 32 36 32 37 35 31 33 34 34 32 00 30 31 34 34 33 33 00 20 30 00 00 00 0002004.12627513442.014433..0...
19aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19b00 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
19b20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
19b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19c00 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
19c20 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..#
19c40 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
19c60 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"
19c80 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
19ca0 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
19cc0 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
19ce0 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
19d00 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.
19d20 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
19d40 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,
19d60 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
19d80 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."
19da0 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
19dc0 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
19de0 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
19e00 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
19e20 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
19e40 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
19e60 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
19e80 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
19ea0 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.
19ec0 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
19ee0 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
19f00 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
19f20 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`..
19f40 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
19f60 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
19f80 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..#.
19fa0 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
19fc0 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
19fe0 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
1a000 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).............................
1a020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a0a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a0c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a0e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a1a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a1c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a1e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a200 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......
1a220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a260 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
1a280 30 30 30 31 36 37 35 00 31 32 36 32 37 35 31 33 34 34 32 00 30 31 34 34 32 35 00 20 30 00 00 00 0001675.12627513442.014425..0...
1a2a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a2c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a2e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a300 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
1a320 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
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 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.===============.
1a420 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
1a440 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.
1a460 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
1a480 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
1a4a0 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
1a4c0 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
1a4e0 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.
1a500 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
1a520 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
1a540 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
1a560 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
1a580 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
1a5a0 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
1a5c0 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
1a5e0 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
1a600 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
1a620 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
1a640 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
1a660 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
1a680 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.==================
1a6a0 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
1a6c0 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
1a6e0 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
1a700 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
1a720 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....
1a740 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
1a760 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.
1a780 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
1a7a0 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....
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 4c 49 43 45 4e 53 45 00 00 00 00 00 00 00 00 00 networking-onos/LICENSE.........
1a820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
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 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
1a880 30 30 32 33 36 33 37 00 31 32 36 32 37 35 31 33 34 34 32 00 30 31 33 37 34 35 00 20 30 00 00 00 0023637.12627513442.013745..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 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
1a920 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
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 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 ................................
1aa20 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................
1aa40 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
1aa60 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
1aa80 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/...
1aaa0 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,.
1aac0 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..
1aae0 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
1ab00 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
1ab20 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,..
1ab40 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
1ab60 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
1ab80 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
1aba0 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
1abc0 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
1abe0 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
1ac00 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
1ac20 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
1ac40 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.
1ac60 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
1ac80 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...
1aca0 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
1acc0 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
1ace0 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
1ad00 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
1ad20 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
1ad40 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
1ad60 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
1ad80 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
1ada0 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
1adc0 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
1ade0 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...
1ae00 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
1ae20 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
1ae40 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
1ae60 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
1ae80 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
1aea0 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
1aec0 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
1aee0 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
1af00 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
1af20 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
1af40 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
1af60 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
1af80 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
1afa0 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
1afc0 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
1afe0 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,....
1b000 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
1b020 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
1b040 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
1b060 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
1b080 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
1b0a0 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
1b0c0 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
1b0e0 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.......(
1b100 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
1b120 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
1b140 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
1b160 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.......
1b180 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
1b1a0 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.
1b1c0 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
1b1e0 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
1b200 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
1b220 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
1b240 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..
1b260 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
1b280 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
1b2a0 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,
1b2c0 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
1b2e0 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
1b300 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
1b320 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
1b340 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
1b360 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
1b380 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
1b3a0 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.
1b3c0 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
1b3e0 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
1b400 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
1b420 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
1b440 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
1b460 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
1b480 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
1b4a0 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.
1b4c0 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"....
1b4e0 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,
1b500 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
1b520 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.
1b540 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
1b560 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
1b580 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
1b5a0 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,.
1b5c0 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
1b5e0 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
1b600 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
1b620 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
1b640 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
1b660 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
1b680 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.....
1b6a0 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
1b6c0 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
1b6e0 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
1b700 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
1b720 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
1b740 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
1b760 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....
1b780 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
1b7a0 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
1b7c0 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.
1b7e0 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
1b800 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
1b820 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,..
1b840 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
1b860 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
1b880 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
1b8a0 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
1b8c0 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
1b8e0 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
1b900 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
1b920 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
1b940 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
1b960 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
1b980 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
1b9a0 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
1b9c0 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,....
1b9e0 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-
1ba00 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
1ba20 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
1ba40 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
1ba60 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
1ba80 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
1baa0 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
1bac0 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.
1bae0 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..
1bb00 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
1bb20 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
1bb40 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.
1bb60 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
1bb80 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
1bba0 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
1bbc0 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.
1bbe0 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
1bc00 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
1bc20 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
1bc40 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
1bc60 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
1bc80 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
1bca0 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
1bcc0 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
1bce0 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.
1bd00 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
1bd20 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.
1bd40 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.
1bd60 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
1bd80 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.
1bda0 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
1bdc0 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
1bde0 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
1be00 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
1be20 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
1be40 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
1be60 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
1be80 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
1bea0 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;.
1bec0 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
1bee0 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
1bf00 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
1bf20 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...
1bf40 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
1bf60 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
1bf80 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
1bfa0 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
1bfc0 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.
1bfe0 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.
1c000 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
1c020 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.
1c040 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
1c060 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
1c080 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
1c0a0 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..........
1c0c0 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
1c0e0 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
1c100 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
1c120 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
1c140 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
1c160 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
1c180 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
1c1a0 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.
1c1c0 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..........
1c1e0 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
1c200 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.
1c220 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
1c240 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
1c260 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
1c280 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
1c2a0 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.
1c2c0 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
1c2e0 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
1c300 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.
1c320 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...
1c340 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
1c360 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
1c380 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
1c3a0 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
1c3c0 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
1c3e0 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
1c400 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
1c420 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
1c440 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........
1c460 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
1c480 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.
1c4a0 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
1c4c0 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.
1c4e0 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
1c500 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.
1c520 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.
1c540 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
1c560 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
1c580 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.....
1c5a0 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.
1c5c0 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,..
1c5e0 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
1c600 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
1c620 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
1c640 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
1c660 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.
1c680 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,.
1c6a0 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
1c6c0 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.
1c6e0 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
1c700 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
1c720 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
1c740 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
1c760 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
1c780 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
1c7a0 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......
1c7c0 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
1c7e0 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
1c800 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
1c820 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
1c840 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
1c860 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.
1c880 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
1c8a0 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.
1c8c0 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
1c8e0 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.
1c900 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
1c920 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
1c940 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...
1c960 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
1c980 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.
1c9a0 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
1c9c0 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
1c9e0 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
1ca00 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".
1ca20 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.
1ca40 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
1ca60 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
1ca80 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
1caa0 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
1cac0 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
1cae0 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.....
1cb00 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
1cb20 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
1cb40 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
1cb60 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
1cb80 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
1cba0 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
1cbc0 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
1cbe0 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
1cc00 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
1cc20 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
1cc40 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
1cc60 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
1cc80 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
1cca0 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.
1ccc0 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
1cce0 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
1cd00 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
1cd20 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
1cd40 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
1cd60 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
1cd80 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.
1cda0 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
1cdc0 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
1cde0 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
1ce00 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
1ce20 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
1ce40 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...
1ce60 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.
1ce80 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
1cea0 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.
1cec0 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.....
1cee0 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
1cf00 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
1cf20 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
1cf40 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.
1cf60 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
1cf80 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
1cfa0 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
1cfc0 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
1cfe0 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.......
1d000 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
1d020 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
1d040 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
1d060 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.
1d080 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
1d0a0 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.
1d0c0 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.
1d0e0 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
1d100 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.
1d120 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,.
1d140 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......
1d160 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
1d180 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....
1d1a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d1c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d1e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d200 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.........
1d220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d260 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
1d280 30 30 30 31 37 35 33 00 31 32 36 32 37 35 31 33 34 34 32 00 30 31 34 32 34 36 00 20 30 00 00 00 0001753.12627513442.014246..0...
1d2a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d2c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d2e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d300 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
1d320 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
1d340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d3a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d3c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d3e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d400 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
1d420 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
1d440 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
1d460 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
1d480 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
1d4a0 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
1d4c0 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
1d4e0 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
1d500 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
1d520 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
1d540 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:
1d560 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/
1d580 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.
1d5a0 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
1d5c0 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
1d5e0 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
1d600 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
1d620 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
1d640 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_
1d660 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
1d680 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
1d6a0 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.
1d6c0 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
1d6e0 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
1d700 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.
1d720 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
1d740 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.
1d760 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
1d780 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
1d7a0 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
1d7c0 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
1d7e0 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......................
1d800 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/..........
1d820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d860 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000755.0000000.0000000.0000
1d880 30 30 30 30 30 30 30 00 31 32 36 32 37 35 31 33 34 34 32 00 30 31 34 30 36 35 00 20 35 00 00 00 0000000.12627513442.014065..5...
1d8a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d8c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d8e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d900 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
1d920 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
1d940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d9a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d9c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d9e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1da00 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
1da20 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.............................
1da40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1da60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
1da80 30 30 30 30 33 30 36 00 31 32 36 32 37 35 31 33 34 34 32 00 30 31 36 36 34 31 00 20 30 00 00 00 0000306.12627513442.016641..0...
1daa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1dac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1dae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1db00 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
1db20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
1db40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1db60 00 00 00 00 00 00 00 00 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 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
1dc20 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
1dc40 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.--
1dc60 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
1dc80 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)
1dca0 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
1dcc0 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...........................
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 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1dd20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
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 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
1de20 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..................
1de40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1de60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
1de80 30 30 30 32 36 34 35 00 31 32 36 32 37 35 31 33 34 34 32 00 30 32 30 36 30 33 00 20 30 00 00 00 0002645.12627513442.020603..0...
1dea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1dec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
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 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
1df20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
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 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.#.
1e020 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.
1e040 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
1e060 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
1e080 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
1e0a0 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
1e0c0 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
1e0e0 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
1e100 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.%
1e120 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
1e140 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
1e160 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
1e180 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
1e1a0 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.
1e1c0 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
1e1e0 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
1e200 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
1e220 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
1e240 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')).
1e260 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,.
1e280 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
1e2a0 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
1e2c0 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
1e2e0 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
1e300 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')..#
1e320 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
1e340 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
1e360 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.
1e380 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,
1e3a0 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.
1e3c0 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
1e3e0 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"..
1e400 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
1e420 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.=.
1e440 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
1e460 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'
1e480 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
1e4a0 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
1e4c0 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.*.
1e4e0 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
1e500 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"..#
1e520 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
1e540 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
1e560 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
1e580 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:.....
1e5a0 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............................
1e5c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e5e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e600 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
1e620 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....................
1e640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e660 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
1e680 30 30 31 33 35 30 37 00 31 32 36 32 37 35 31 33 34 34 32 00 30 32 30 35 32 31 00 20 30 00 00 00 0013507.12627513442.020521..0...
1e6a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e6c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e6e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e700 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
1e720 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
1e740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e7a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e7c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e7e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e800 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
1e820 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.
1e840 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
1e860 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
1e880 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
1e8a0 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
1e8c0 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.#..
1e8e0 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.#.#..
1e900 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
1e920 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.
1e940 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
1e960 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.#..
1e980 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.
1e9a0 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
1e9c0 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
1e9e0 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
1ea00 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
1ea20 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
1ea40 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
1ea60 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...
1ea80 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
1eaa0 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.
1eac0 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
1eae0 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.
1eb00 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.
1eb20 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.
1eb40 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
1eb60 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
1eb80 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._
1eba0 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.
1ebc0 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
1ebe0 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.
1ec00 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.__
1ec20 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
1ec40 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
1ec60 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,..........
1ec80 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
1eca0 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
1ecc0 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.=.
1ece0 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
1ed00 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.
1ed20 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
1ed40 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
1ed60 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,.
1ed80 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.%.
1eda0 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
1edc0 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
1ede0 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
1ee00 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):...........
1ee20 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.
1ee40 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
1ee60 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
1ee80 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,........................
1eea0 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):...
1eec0 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
1eee0 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
1ef00 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.
1ef20 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.
1ef40 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
1ef60 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
1ef80 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:.....
1efa0 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
1efc0 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=
1efe0 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).......
1f000 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]
1f020 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.
1f040 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:...........
1f060 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.
1f080 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)...
1f0a0 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
1f0c0 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
1f0e0 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
1f100 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
1f120 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
1f140 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,.............
1f160 20 20 20 20 20 20 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
1f180 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
1f1a0 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
1f1c0 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
1f1e0 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
1f200 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')):.......
1f220 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(............
1f240 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.
1f260 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
1f280 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
1f2a0 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
1f2c0 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(...
1f2e0 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
1f300 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,..........
1f320 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
1f340 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)...
1f360 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):
1f380 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
1f3a0 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_
1f3c0 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
1f3e0 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.
1f400 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
1f420 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
1f440 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.
1f460 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
1f480 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
1f4a0 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):.
1f4c0 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
1f4e0 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
1f500 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:.................
1f520 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',.
1f540 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',.....
1f560 20 20 20 20 20 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
1f580 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:......
1f5a0 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
1f5c0 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])....
1f5e0 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.').........
1f600 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
1f620 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
1f640 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
1f660 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([
1f680 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',...........
1f6a0 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',
1f6c0 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),.....
1f6e0 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
1f700 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
1f720 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('
1f740 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
1f760 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)...')...
1f780 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
1f7a0 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
1f7c0 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.
1f7e0 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
1f800 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
1f820 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
1f840 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
1f860 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
1f880 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)
1f8a0 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)
1f8c0 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
1f8e0 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.=.
1f900 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().........
1f920 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
1f940 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',...................
1f960 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',....
1f980 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.
1f9a0 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
1f9c0 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.".......................
1f9e0 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
1fa00 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:])[
1fa20 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):.
1fa40 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):..
1fa60 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
1fa80 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],.............
1faa0 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
1fac0 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
1fae0 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
1fb00 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'):.............
1fb20 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
1fb40 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
1fb60 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.
1fb80 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='.')......
1fba0 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
1fbc0 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']):.....
1fbe0 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')..
1fc00 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...........
1fc20 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
1fc40 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
1fc60 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
1fc80 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
1fca0 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
1fcc0 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'................
1fce0 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.
1fd00 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
1fd20 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
1fd40 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.
1fd60 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
1fd80 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....."""..
1fda0 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):...
1fdc0 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
1fde0 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],.....
1fe00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1fe20 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].
1fe40 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
1fe60 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
1fe80 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
1fea0 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
1fec0 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'):........
1fee0 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
1ff00 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
1ff20 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
1ff40 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()..........................
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 74 6f 6f 6c 73 2f 69 6e 73 74 61 6c 6c 5f 76 65 networking-onos/tools/install_ve
20020 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...........................
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 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
20080 30 30 30 34 34 30 30 00 31 32 36 32 37 35 31 33 34 34 32 00 30 31 37 31 34 31 00 20 30 00 00 00 0004400.12627513442.017141..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 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
20120 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
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 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
20220 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.
20240 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
20260 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
20280 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
202a0 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
202c0 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
202e0 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
20300 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,
20320 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
20340 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
20360 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
20380 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
203a0 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
203c0 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
203e0 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
20400 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
20420 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
20440 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
20460 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
20480 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.
204a0 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
204c0 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
204e0 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
20500 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.#..
20520 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
20540 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
20560 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
20580 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
205a0 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
205c0 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..
205e0 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.=.""
20600 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
20620 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.
20640 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
20660 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
20680 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
206a0 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
206c0 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
206e0 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
20700 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
20720 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
20740 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
20760 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
20780 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
207a0 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
207c0 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
207e0 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
20800 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
20820 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
20840 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.
20860 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')...
20880 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
208a0 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
208c0 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,.'
208e0 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
20900 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
20920 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[
20940 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'.....
20960 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
20980 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
209a0 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,.....................
209c0 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
209e0 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
20a00 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
20a20 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
20a40 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
20a60 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
20a80 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).....
20aa0 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()..
20ac0 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__.==
20ae0 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).
20b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
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 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
20c20 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.............................
20c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20c60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
20c80 30 30 30 32 32 32 36 00 31 32 36 32 37 35 31 33 34 34 32 00 30 31 36 34 37 35 00 20 30 00 00 00 0002226.12627513442.016475..0...
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 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
20d20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
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 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
20e20 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
20e40 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
20e60 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>.#
20e80 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
20ea0 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,.
20ec0 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
20ee0 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
20f00 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
20f20 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
20f40 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
20f60 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
20f80 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
20fa0 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.
20fc0 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
20fe0 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
21000 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
21020 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
21040 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
21060 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.
21080 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.
210a0 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.#...
210c0 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
210e0 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
21100 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
21120 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
21140 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
21160 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
21180 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
211a0 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.-
211c0 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
211e0 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.[.${
21200 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
21220 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.
21240 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
21260 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
21280 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...........
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 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
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 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
21420 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..........................
21440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21460 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
21480 30 30 32 34 35 34 34 00 31 32 36 32 37 35 31 33 34 34 32 00 30 31 37 32 33 35 00 20 30 00 00 00 0024544.12627513442.017235..0...
214a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
214c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
214e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21500 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
21520 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
21540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
215a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
215c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
215e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21600 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
21620 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
21640 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
21660 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
21680 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
216a0 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
216c0 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.
216e0 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
21700 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
21720 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.#
21740 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
21760 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
21780 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
217a0 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
217c0 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
217e0 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
21800 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
21820 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.
21840 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
21860 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
21880 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
218a0 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
218c0 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.
218e0 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
21900 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
21920 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
21940 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
21960 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.
21980 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
219a0 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
219c0 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
219e0 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
21a00 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
21a20 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
21a40 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
21a60 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.
21a80 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
21aa0 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
21ac0 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
21ae0 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
21b00 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,.........
21b20 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
21b40 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):........
21b60 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(....
21b80 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,..
21ba0 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,.
21bc0 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
21be0 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
21c00 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
21c20 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=
21c40 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)
21c60 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:........
21c80 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:.........
21ca0 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
21cc0 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
21ce0 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':..........
21d00 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;.
21d20 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
21d40 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.
21d60 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)......
21d80 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.
21da0 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(.......
21dc0 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
21de0 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
21e00 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(............
21e20 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
21e40 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
21e60 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
21e80 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':...
21ea0 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.
21ec0 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.
21ee0 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
21f00 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
21f20 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:..........
21f40 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:........
21f60 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
21f80 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.
21fa0 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.=
21fc0 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_
21fe0 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
22000 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-'):.......
22020 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
22040 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
22060 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.=.
22080 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()...........
220a0 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.
220c0 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
220e0 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'.%..
22100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
22120 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))...
22140 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
22160 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
22180 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
221a0 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.
221c0 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
221e0 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.
22200 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
22220 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.
22240 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......
22260 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
22280 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
222a0 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
222c0 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
222e0 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
22300 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......""".....
22320 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
22340 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_
22360 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.
22380 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
223a0 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.=.
223c0 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
223e0 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:]....
22400 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.
22420 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
22440 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
22460 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
22480 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.>.
224a0 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.
224c0 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].............
224e0 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:]..
22500 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
22520 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
22540 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
22560 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
22580 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
225a0 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.
225c0 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'.%.
225e0 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
22600 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
22620 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.
22640 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
22660 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
22680 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-'):.....
226a0 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:]).....
226c0 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
226e0 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
22700 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
22720 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
22740 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.....
22760 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.
22780 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
227a0 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
227c0 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
227e0 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
22800 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.
22820 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
22840 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
22860 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():...
22880 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
228a0 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.
228c0 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
228e0 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
22900 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
22920 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
22940 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':
22960 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
22980 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
229a0 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
229c0 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
229e0 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....
22a00 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\
22a20 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)))
22a40 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
22a60 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
22a80 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.....
22aa0 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
22ac0 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'):...............
22ae0 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
22b00 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
22b20 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
22b40 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....
22b60 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
22b80 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
22ba0 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'
22bc0 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
22be0 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
22c00 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
22c20 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
22c40 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.
22c60 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]
22c80 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
22ca0 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
22cc0 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..
22ce0 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
22d00 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
22d20 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
22d40 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('{%
22d60 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'.%.(....
22d80 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)
22da0 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:
22dc0 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
22de0 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).
22e00 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
22e20 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':..........
22e40 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]...
22e60 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
22e80 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))............
22ea0 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)
22ec0 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':.
22ee0 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}.%
22f00 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'.%.(........
22f20 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
22f40 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()))....
22f60 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
22f80 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'.%.(.
22fa0 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
22fc0 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']))........
22fe0 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:.....
23000 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
23020 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)..
23040 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
23060 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
23080 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
230a0 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.
230c0 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.....
230e0 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.
23100 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......""".
23120 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
23140 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===========
23160 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
23180 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
231a0 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
231c0 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===================
231e0 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
23200 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
23220 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
23240 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'])))
23260 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
23280 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
232a0 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
232c0 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....
232e0 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():...
23300 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:............
23320 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:................
23340 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]):
23360 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.
23380 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(
233a0 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,.
233c0 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
233e0 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
23400 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
23420 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
23440 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
23460 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
23480 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)....
234a0 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']
234c0 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].
234e0 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
23500 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
23520 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===
23540 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:.%
23560 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('
23580 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',.'.*'),.................
235a0 20 20 20 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
235c0 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
235e0 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
23600 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(
23620 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
23640 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
23660 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
23680 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
236a0 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
236c0 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
236e0 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
23700 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
23720 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"
23740 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
23760 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):.............
23780 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:............
237a0 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(..............
237c0 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
237e0 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
23800 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).
23820 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:...............
23840 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)...
23860 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
23880 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".%.
238a0 20 20 20 20 20 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,
238c0 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():
238e0 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
23900 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(
23920 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
23940 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',................
23960 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',.
23980 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.'
239a0 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.
239c0 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
239e0 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
23a00 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',.........
23a20 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
23a40 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.'..
23a60 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
23a80 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
23aa0 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
23ac0 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',..
23ae0 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
23b00 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
23b20 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",.......................
23b40 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=(.....................
23b60 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
23b80 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).................
23ba0 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
23bc0 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.
23be0 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().
23c00 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
23c20 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
23c40 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')....
23c60 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)....
23c80 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
23ca0 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
23cc0 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,.........
23ce0 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
23d00 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,...........
23d20 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
23d40 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.......................)).
23d60 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
23d80 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
23da0 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
23dc0 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
23de0 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
23e00 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:.........
23e20 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
23e40 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:...
23e60 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
23e80 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").......
23ea0 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
23ec0 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
23ee0 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)
23f00 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
23f20 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__.
23f40 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
23f60 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 ()).............................
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 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
24020 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.............................
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 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
24080 30 30 31 32 34 33 34 00 31 32 36 32 37 35 31 33 34 34 32 00 30 31 36 33 35 37 00 20 30 00 00 00 0012434.12627513442.016357..0...
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 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
24120 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
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 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
24220 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
24240 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.(
24260 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
24280 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
242a0 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
242c0 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.
242e0 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
24300 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.#.#...
24320 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
24340 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
24360 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.
24380 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
243a0 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
243c0 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
243e0 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
24400 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.
24420 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
24440 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
24460 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
24480 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
244a0 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
244c0 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):....
244e0 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._()
24500 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
24520 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):......
24540 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
24560 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):..........
24580 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.==.'
245a0 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.
245c0 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
245e0 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):
24600 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
24620 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.
24640 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
24660 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
24680 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
246a0 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(
246c0 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,
246e0 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,.
24700 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
24720 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
24740 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
24760 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
24780 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
247a0 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.........
247c0 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
247e0 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
24800 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
24820 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
24840 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):........
24860 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
24880 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.........
248a0 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):.........
248c0 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
248e0 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:.............
24900 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):...........
24920 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
24940 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'.%......................
24960 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
24980 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
249a0 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],..
249c0 20 20 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
249e0 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),...............
24a00 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)...
24a20 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
24a40 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.....
24a60 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:...............
24a80 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'.%........
24aa0 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
24ac0 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,.....................
24ae0 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][:
24b00 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
24b20 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
24b40 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
24b60 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:........
24b80 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):....
24ba0 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
24bc0 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
24be0 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:.........................
24c00 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'.%......
24c20 20 20 20 20 20 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
24c40 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,.......
24c60 20 20 20 20 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
24c80 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],...
24ca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
24cc0 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"))........................
24ce0 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
24d00 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':.............
24d20 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.
24d40 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'.%....................
24d60 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.
24d80 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,.........................
24da0 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.-.
24dc0 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],........................
24de0 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)
24e00 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 ,...............................
24e20 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)...............
24e40 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........
24e60 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.........
24e80 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
24ea0 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
24ec0 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'.%...............
24ee0 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,.
24f00 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,....................
24f20 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
24f40 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],....................
24f60 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))...
24f80 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....
24fa0 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
24fc0 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.
24fe0 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
25000 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
25020 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.
25040 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(.
25060 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)):
25080 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
250a0 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
250c0 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_
250e0 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
25100 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
25120 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
25140 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,................
25160 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
25180 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,..............................
251a0 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,...
251c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
251e0 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,........
25200 20 20 20 20 20 20 20 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
25220 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),..........................
25240 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
25260 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__'
25280 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]..
252a0 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
252c0 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
252e0 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
25300 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
25320 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
25340 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_
25360 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
25380 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
253a0 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
253c0 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
253e0 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..
25400 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:........
25420 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':........
25440 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
25460 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
25480 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,...
254a0 20 20 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
254c0 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,..................
254e0 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,.
25500 20 20 20 20 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
25520 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
25540 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
25560 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:.
25580 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('.
255a0 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..
255c0 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.
255e0 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.
25600 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
25620 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
25640 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
25660 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,...................
25680 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,....
256a0 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
256c0 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,.....................
256e0 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
25700 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).....
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 ................................
25800 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.
25820 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..............................
25840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25860 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
25880 30 30 30 31 33 32 33 00 31 32 36 32 37 35 31 33 34 34 32 00 30 31 36 34 33 31 00 20 30 00 00 00 0001323.12627513442.016431..0...
258a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
258c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
258e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25900 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
25920 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
25940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
259a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
259c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
259e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25a00 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
25a20 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.
25a40 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.
25a60 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.
25a80 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
25aa0 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
25ac0 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
25ae0 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
25b00 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
25b20 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.#.#..
25b40 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.
25b60 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
25b80 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
25ba0 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
25bc0 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
25be0 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,.
25c00 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
25c20 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
25c40 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.
25c60 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
25c80 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
25ca0 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
25cc0 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.&&."$@"..............
25ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25e00 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..
25e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25e60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
25e80 30 30 30 30 32 37 34 00 31 32 36 32 37 35 31 33 34 34 32 00 30 31 35 35 30 36 00 20 30 00 00 00 0000274.12627513442.015506..0...
25ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25f00 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
25f20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
25f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26000 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
26020 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
26040 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
26060 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
26080 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
260a0 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-*.....
260c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
260e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
261a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
261c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
261e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26200 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
26220 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...............................
26240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26260 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
26280 30 30 30 36 36 34 33 00 31 32 36 32 37 35 31 33 34 34 32 00 30 31 36 30 34 36 00 20 30 00 00 00 0006643.12627513442.016046..0...
262a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
262c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
262e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26300 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
26320 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
26340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
263a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
263c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
263e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26400 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.
26420 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
26440 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
26460 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
26480 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):.........
264a0 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
264c0 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):
264e0 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.
26500 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):....
26520 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.
26540 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],........
26560 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.
26580 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
265a0 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.
265c0 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
265e0 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
26600 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):...
26620 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
26640 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
26660 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
26680 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):..
266a0 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
266c0 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.
266e0 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):.
26700 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
26720 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):.....
26740 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
26760 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],.........
26780 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
267a0 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
267c0 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.=
267e0 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
26800 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.
26820 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):....."""
26840 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)"""....
26860 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
26880 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
268a0 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
268c0 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.
268e0 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
26900 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
26920 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.==.'_':.........
26940 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
26960 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
26980 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
269a0 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).""
269c0 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.=.[.....#.
269e0 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
26a00 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
26a20 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',.''),....
26a40 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}.....
26a60 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,.
26a80 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',.''),
26aa0 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']..
26ac0 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
26ae0 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
26b00 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..
26b20 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
26b40 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'
26b60 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",
26b80 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.
26ba0 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
26bc0 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('.')).<=.
26be0 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.=
26c00 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
26c20 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(
26c40 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
26c60 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
26c80 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
26ca0 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
26cc0 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',.'')
26ce0 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.....(
26d00 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
26d20 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
26d40 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
26d60 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_
26d80 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.
26da0 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
26dc0 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
26de0 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_
26e00 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.
26e20 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'.%
26e40 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
26e60 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..
26e80 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
26ea0 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').]...
26ec0 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
26ee0 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).""
26f00 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.=.[.....#.
26f20 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.
26f40 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.
26f60 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:
26f80 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
26fa0 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,.....
26fc0 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.
26fe0 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")
27000 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
27020 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
27040 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
27060 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
27080 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.
270a0 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
270c0 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
270e0 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("
27100 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
27120 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",
27140 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
27160 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",....................".
27180 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
271a0 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 "]..............................
271c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
271e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
272a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
272c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
272e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
273a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
273c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
273e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
274a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
274c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
274e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
275a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
275c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
275e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
276a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
276c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
276e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
277a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
277c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
277e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
278a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
278c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
278e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
279a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
279c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
279e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................