aboutsummaryrefslogtreecommitdiffstats
path: root/deploy/adapters/ansible/roles/onos_cluster/files/networking-onos.tar
blob: 9358199cfca02f292ea70e791c4caa316fcd96cf (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 36 32 37 35 31 33 34 34 32 00 30 31 37 36 33 33 00 20 35 00 00 00 0000000.12627513442.017633..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 32 36 32 37 35 31 33 34 34 32 00 30 32 30 31 35 31 00 20 35 00 00 00 0000000.12627513442.020151..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 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............
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 31 32 33 35 35 00 31 32 36 32 37 35 31 33 34 34 32 00 30 32 32 30 32 34 00 20 30 00 00 00 0012355.12627513442.022024..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 20 41 6c 6c 20 52 69 nologies.India.Pvt.Ltd..#.All.Ri
4040 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
4060 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
4080 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
40a0 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
40c0 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.
40e0 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.
4100 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
4120 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
4140 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
4160 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
4180 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
41a0 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
41c0 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
41e0 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
4200 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
4220 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
4240 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
4260 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
4280 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.
42a0 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
42c0 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
42e0 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
4300 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
4320 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.
4340 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.
4360 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
4380 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
43a0 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
43c0 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
43e0 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
4400 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
4420 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
4440 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
4460 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
4480 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
44a0 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
44c0 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
44e0 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
4500 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.
4520 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,..............
4540 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
4560 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
4580 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,.......
45a0 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_
45c0 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,.....
45e0 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
4600 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
4620 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
4640 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
4660 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
4680 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.
46a0 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
46c0 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
46e0 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...
4700 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
4720 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
4740 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
4760 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
4780 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.
47a0 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.
47c0 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
47e0 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)....
4800 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
4820 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.....
4840 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
4860 6e 65 63 74 69 6f 6e 28 6e 65 77 3d 54 72 75 65 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 61 nection(new=True).........self.a
4880 67 65 6e 74 5f 6e 6f 74 69 66 69 65 72 73 2e 75 70 64 61 74 65 28 0a 20 20 20 20 20 20 20 20 20 gent_notifiers.update(..........
48a0 20 20 20 7b 71 5f 63 6f 6e 73 74 2e 41 47 45 4e 54 5f 54 59 50 45 5f 4c 33 3a 20 6c 33 5f 72 70 ...{q_const.AGENT_TYPE_L3:.l3_rp
48c0 63 5f 61 67 65 6e 74 5f 61 70 69 2e 4c 33 41 67 65 6e 74 4e 6f 74 69 66 79 41 50 49 28 29 7d 29 c_agent_api.L3AgentNotifyAPI()})
48e0 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 65 6e 64 70 6f 69 6e 74 73 20 3d 20 5b 6c 33 5f 72 70 .........self.endpoints.=.[l3_rp
4900 63 2e 4c 33 52 70 63 43 61 6c 6c 62 61 63 6b 28 29 5d 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e c.L3RpcCallback()].........self.
4920 63 6f 6e 6e 2e 63 72 65 61 74 65 5f 63 6f 6e 73 75 6d 65 72 28 73 65 6c 66 2e 74 6f 70 69 63 2c conn.create_consumer(self.topic,
4940 20 73 65 6c 66 2e 65 6e 64 70 6f 69 6e 74 73 2c 20 66 61 6e 6f 75 74 3d 46 61 6c 73 65 29 0a 20 .self.endpoints,.fanout=False)..
4960 20 20 20 20 20 20 20 73 65 6c 66 2e 63 6f 6e 6e 2e 63 6f 6e 73 75 6d 65 5f 69 6e 5f 74 68 72 65 .......self.conn.consume_in_thre
4980 61 64 73 28 29 0a 0a 20 20 20 20 64 65 66 20 67 65 74 5f 70 6c 75 67 69 6e 5f 74 79 70 65 28 73 ads()......def.get_plugin_type(s
49a0 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 63 6f 6e 73 74 61 6e 74 73 2e 4c elf):.........return.constants.L
49c0 33 5f 52 4f 55 54 45 52 5f 4e 41 54 0a 0a 20 20 20 20 64 65 66 20 67 65 74 5f 70 6c 75 67 69 6e 3_ROUTER_NAT......def.get_plugin
49e0 5f 64 65 73 63 72 69 70 74 69 6f 6e 28 73 65 6c 66 29 3a 0a 20 20 20 20 20 20 20 20 22 22 22 72 _description(self):........."""r
4a00 65 74 75 72 6e 73 20 70 6c 75 67 2d 69 6e 20 64 65 73 63 72 69 70 74 69 6f 6e 22 22 22 0a 20 20 eturns.plug-in.description"""...
4a20 20 20 20 20 20 20 72 65 74 75 72 6e 20 28 22 4c 33 20 52 6f 75 74 65 72 20 53 65 72 76 69 63 65 ......return.("L3.Router.Service
4a40 20 50 6c 75 67 2d 69 6e 20 66 6f 72 20 62 61 73 69 63 20 4c 33 20 66 6f 72 77 61 72 64 69 6e 67 .Plug-in.for.basic.L3.forwarding
4a60 20 75 73 69 6e 67 20 4f 4e 4f 53 22 29 0a 0a 20 20 20 20 64 65 66 20 63 72 65 61 74 65 5f 72 6f .using.ONOS")......def.create_ro
4a80 75 74 65 72 28 73 65 6c 66 2c 20 63 6f 6e 74 65 78 74 2c 20 72 6f 75 74 65 72 29 3a 0a 20 20 20 uter(self,.context,.router):....
4aa0 20 20 20 20 20 72 6f 75 74 65 72 5f 64 69 63 74 20 3d 20 73 75 70 65 72 28 4f 4e 4f 53 4c 33 50 .....router_dict.=.super(ONOSL3P
4ac0 6c 75 67 69 6e 2c 20 73 65 6c 66 29 2e 63 72 65 61 74 65 5f 72 6f 75 74 65 72 28 63 6f 6e 74 65 lugin,.self).create_router(conte
4ae0 78 74 2c 20 72 6f 75 74 65 72 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 68 61 6e 64 6c 65 5f xt,.router).........self.handle_
4b00 63 72 65 61 74 65 5f 72 6f 75 74 65 72 28 72 6f 75 74 65 72 5f 64 69 63 74 29 0a 20 20 20 20 20 create_router(router_dict)......
4b20 20 20 20 72 65 74 75 72 6e 20 72 6f 75 74 65 72 5f 64 69 63 74 0a 0a 20 20 20 20 64 65 66 20 75 ...return.router_dict......def.u
4b40 70 64 61 74 65 5f 72 6f 75 74 65 72 28 73 65 6c 66 2c 20 63 6f 6e 74 65 78 74 2c 20 69 64 2c 20 pdate_router(self,.context,.id,.
4b60 72 6f 75 74 65 72 29 3a 0a 20 20 20 20 20 20 20 20 72 6f 75 74 65 72 5f 64 69 63 74 20 3d 20 73 router):.........router_dict.=.s
4b80 75 70 65 72 28 4f 4e 4f 53 4c 33 50 6c 75 67 69 6e 2c 20 73 65 6c 66 29 2e 75 70 64 61 74 65 5f uper(ONOSL3Plugin,.self).update_
4ba0 72 6f 75 74 65 72 28 63 6f 6e 74 65 78 74 2c 20 69 64 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 router(context,.id,.............
4bc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
4be0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 6f 75 74 65 72 29 0a 20 20 20 20 20 20 ..................router).......
4c00 20 20 73 65 6c 66 2e 68 61 6e 64 6c 65 5f 75 70 64 61 74 65 5f 72 6f 75 74 65 72 28 72 6f 75 74 ..self.handle_update_router(rout
4c20 65 72 5f 64 69 63 74 2c 20 69 64 29 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 72 6f 75 74 er_dict,.id).........return.rout
4c40 65 72 5f 64 69 63 74 0a 0a 20 20 20 20 64 65 66 20 64 65 6c 65 74 65 5f 72 6f 75 74 65 72 28 73 er_dict......def.delete_router(s
4c60 65 6c 66 2c 20 63 6f 6e 74 65 78 74 2c 20 69 64 29 3a 0a 20 20 20 20 20 20 20 20 73 75 70 65 72 elf,.context,.id):.........super
4c80 28 4f 4e 4f 53 4c 33 50 6c 75 67 69 6e 2c 20 73 65 6c 66 29 2e 64 65 6c 65 74 65 5f 72 6f 75 74 (ONOSL3Plugin,.self).delete_rout
4ca0 65 72 28 63 6f 6e 74 65 78 74 2c 20 69 64 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 68 61 6e er(context,.id).........self.han
4cc0 64 6c 65 5f 64 65 6c 65 74 65 5f 72 6f 75 74 65 72 28 69 64 29 0a 0a 20 20 20 20 64 65 66 20 63 dle_delete_router(id)......def.c
4ce0 72 65 61 74 65 5f 66 6c 6f 61 74 69 6e 67 69 70 28 73 65 6c 66 2c 20 63 6f 6e 74 65 78 74 2c 20 reate_floatingip(self,.context,.
4d00 66 6c 6f 61 74 69 6e 67 69 70 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 floatingip,.....................
4d20 20 20 20 20 20 20 69 6e 69 74 69 61 6c 5f 73 74 61 74 75 73 3d 71 5f 63 6f 6e 73 74 2e 46 4c 4f ......initial_status=q_const.FLO
4d40 41 54 49 4e 47 49 50 5f 53 54 41 54 55 53 5f 41 43 54 49 56 45 29 3a 0a 20 20 20 20 20 20 20 20 ATINGIP_STATUS_ACTIVE):.........
4d60 66 69 70 5f 64 69 63 74 20 3d 20 73 75 70 65 72 28 4f 4e 4f 53 4c 33 50 6c 75 67 69 6e 2c 20 73 fip_dict.=.super(ONOSL3Plugin,.s
4d80 65 6c 66 29 2e 63 72 65 61 74 65 5f 66 6c 6f 61 74 69 6e 67 69 70 28 63 6f 6e 74 65 78 74 2c 0a elf).create_floatingip(context,.
4da0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
4dc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 ...............................f
4de0 6c 6f 61 74 69 6e 67 69 70 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 loatingip,......................
4e00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
4e20 20 20 20 20 20 20 20 20 20 20 69 6e 69 74 69 61 6c 5f 73 74 61 74 75 73 29 0a 20 20 20 20 20 20 ..........initial_status).......
4e40 20 20 73 65 6c 66 2e 68 61 6e 64 6c 65 5f 63 72 65 61 74 65 5f 66 6c 6f 61 74 69 6e 67 69 70 28 ..self.handle_create_floatingip(
4e60 66 69 70 5f 64 69 63 74 29 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 69 70 5f 64 69 63 fip_dict).........return.fip_dic
4e80 74 0a 0a 20 20 20 20 64 65 66 20 75 70 64 61 74 65 5f 66 6c 6f 61 74 69 6e 67 69 70 28 73 65 6c t......def.update_floatingip(sel
4ea0 66 2c 20 63 6f 6e 74 65 78 74 2c 20 69 64 2c 20 66 6c 6f 61 74 69 6e 67 69 70 29 3a 0a 20 20 20 f,.context,.id,.floatingip):....
4ec0 20 20 20 20 20 66 69 70 5f 64 69 63 74 20 3d 20 73 75 70 65 72 28 4f 4e 4f 53 4c 33 50 6c 75 67 .....fip_dict.=.super(ONOSL3Plug
4ee0 69 6e 2c 20 73 65 6c 66 29 2e 75 70 64 61 74 65 5f 66 6c 6f 61 74 69 6e 67 69 70 28 63 6f 6e 74 in,.self).update_floatingip(cont
4f00 65 78 74 2c 20 69 64 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ext,.id,........................
4f20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
4f40 20 20 20 20 20 20 20 20 66 6c 6f 61 74 69 6e 67 69 70 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 ........floatingip).........self
4f60 2e 68 61 6e 64 6c 65 5f 75 70 64 61 74 65 5f 66 6c 6f 61 74 69 6e 67 69 70 28 69 64 2c 20 66 69 .handle_update_floatingip(id,.fi
4f80 70 5f 64 69 63 74 29 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 69 70 5f 64 69 63 74 0a p_dict).........return.fip_dict.
4fa0 0a 20 20 20 20 64 65 66 20 64 65 6c 65 74 65 5f 66 6c 6f 61 74 69 6e 67 69 70 28 73 65 6c 66 2c .....def.delete_floatingip(self,
4fc0 20 63 6f 6e 74 65 78 74 2c 20 69 64 29 3a 0a 20 20 20 20 20 20 20 20 73 75 70 65 72 28 4f 4e 4f .context,.id):.........super(ONO
4fe0 53 4c 33 50 6c 75 67 69 6e 2c 20 73 65 6c 66 29 2e 64 65 6c 65 74 65 5f 66 6c 6f 61 74 69 6e 67 SL3Plugin,.self).delete_floating
5000 69 70 28 63 6f 6e 74 65 78 74 2c 20 69 64 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 68 61 6e ip(context,.id).........self.han
5020 64 6c 65 5f 64 65 6c 65 74 65 5f 66 6c 6f 61 74 69 6e 67 69 70 28 69 64 29 0a 0a 20 20 20 20 64 dle_delete_floatingip(id)......d
5040 65 66 20 61 64 64 5f 72 6f 75 74 65 72 5f 69 6e 74 65 72 66 61 63 65 28 73 65 6c 66 2c 20 63 6f ef.add_router_interface(self,.co
5060 6e 74 65 78 74 2c 20 72 6f 75 74 65 72 5f 69 64 2c 20 69 6e 74 65 72 66 61 63 65 5f 69 6e 66 6f ntext,.router_id,.interface_info
5080 29 3a 0a 20 20 20 20 20 20 20 20 72 6f 75 74 65 72 20 3d 20 73 75 70 65 72 28 4f 4e 4f 53 4c 33 ):.........router.=.super(ONOSL3
50a0 50 6c 75 67 69 6e 2c 20 73 65 6c 66 29 2e 61 64 64 5f 72 6f 75 74 65 72 5f 69 6e 74 65 72 66 61 Plugin,.self).add_router_interfa
50c0 63 65 28 63 6f 6e 74 65 78 74 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ce(context,.....................
50e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5100 20 20 20 20 20 20 20 20 20 20 20 20 72 6f 75 74 65 72 5f 69 64 2c 0a 20 20 20 20 20 20 20 20 20 ............router_id,..........
5120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 65 72 66 61 63 65 .......................interface
5160 5f 69 6e 66 6f 29 0a 20 20 20 20 20 20 20 20 69 6e 74 66 5f 61 64 64 5f 74 79 70 65 20 3d 20 73 _info).........intf_add_type.=.s
5180 65 6c 66 2e 5f 67 65 74 5f 69 6e 74 66 5f 61 64 64 5f 74 79 70 65 28 72 6f 75 74 65 72 2c 20 69 elf._get_intf_add_type(router,.i
51a0 6e 74 65 72 66 61 63 65 5f 69 6e 66 6f 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 68 61 6e 64 nterface_info).........self.hand
51c0 6c 65 5f 61 64 64 5f 72 6f 75 74 65 72 5f 69 6e 74 65 72 66 61 63 65 28 72 6f 75 74 65 72 2c 20 le_add_router_interface(router,.
51e0 72 6f 75 74 65 72 5f 69 64 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 router_id,......................
5200 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
5220 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
5240 6e 20 72 6f 75 74 65 72 0a 0a 20 20 20 20 64 65 66 20 72 65 6d 6f 76 65 5f 72 6f 75 74 65 72 5f n.router......def.remove_router_
5260 69 6e 74 65 72 66 61 63 65 28 73 65 6c 66 2c 20 63 6f 6e 74 65 78 74 2c 20 72 6f 75 74 65 72 5f interface(self,.context,.router_
5280 69 64 2c 20 69 6e 74 65 72 66 61 63 65 5f 69 6e 66 6f 29 3a 0a 20 20 20 20 20 20 20 20 72 6f 75 id,.interface_info):.........rou
52a0 74 65 72 20 3d 20 73 75 70 65 72 28 4f 4e 4f 53 4c 33 50 6c 75 67 69 6e 2c 20 73 65 6c 66 29 2e ter.=.super(ONOSL3Plugin,.self).
52c0 72 65 6d 6f 76 65 5f 72 6f 75 74 65 72 5f 69 6e 74 65 72 66 61 63 65 28 0a 20 20 20 20 20 20 20 remove_router_interface(........
52e0 20 20 20 20 20 63 6f 6e 74 65 78 74 2c 20 72 6f 75 74 65 72 5f 69 64 2c 20 69 6e 74 65 72 66 61 .....context,.router_id,.interfa
5300 63 65 5f 69 6e 66 6f 29 0a 20 20 20 20 20 20 20 20 69 6e 74 66 5f 61 64 64 5f 74 79 70 65 20 3d ce_info).........intf_add_type.=
5320 20 73 65 6c 66 2e 5f 67 65 74 5f 69 6e 74 66 5f 61 64 64 5f 74 79 70 65 28 72 6f 75 74 65 72 2c .self._get_intf_add_type(router,
5340 20 69 6e 74 65 72 66 61 63 65 5f 69 6e 66 6f 29 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 68 61 .interface_info).........self.ha
5360 6e 64 6c 65 5f 72 65 6d 6f 76 65 5f 72 6f 75 74 65 72 5f 69 6e 74 65 72 66 61 63 65 28 72 6f 75 ndle_remove_router_interface(rou
5380 74 65 72 2c 20 72 6f 75 74 65 72 5f 69 64 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ter,.router_id,.................
53a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 65 ............................inte
53c0 72 66 61 63 65 5f 69 6e 66 6f 2c 20 69 6e 74 66 5f 61 64 64 5f 74 79 70 65 29 0a 20 20 20 20 20 rface_info,.intf_add_type)......
53e0 20 20 20 72 65 74 75 72 6e 20 72 6f 75 74 65 72 0a 0a 20 20 20 20 64 65 66 20 5f 67 65 74 5f 69 ...return.router......def._get_i
5400 6e 74 66 5f 61 64 64 5f 74 79 70 65 28 73 65 6c 66 2c 20 72 6f 75 74 65 72 5f 69 6e 66 6f 2c 20 ntf_add_type(self,.router_info,.
5420 69 6e 74 66 5f 69 6e 66 6f 29 3a 0a 20 20 20 20 20 20 20 20 61 64 64 5f 62 79 5f 70 6f 72 74 2c intf_info):.........add_by_port,
5440 20 61 64 64 5f 62 79 5f 73 75 62 20 3d 20 73 65 6c 66 2e 5f 76 61 6c 69 64 61 74 65 5f 69 6e 74 .add_by_sub.=.self._validate_int
5460 65 72 66 61 63 65 5f 69 6e 66 6f 28 69 6e 74 66 5f 69 6e 66 6f 29 0a 20 20 20 20 20 20 20 20 69 erface_info(intf_info).........i
5480 66 20 61 64 64 5f 62 79 5f 73 75 62 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e f.add_by_sub:.............return
54a0 20 6f 6e 6f 73 5f 72 6f 75 74 65 72 2e 41 44 44 5f 49 4e 54 46 5f 42 59 5f 53 55 42 4e 45 54 0a .onos_router.ADD_INTF_BY_SUBNET.
54c0 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6f 6e 6f 73 5f 72 6f 75 74 65 72 2e 41 44 44 5f .........return.onos_router.ADD_
54e0 49 4e 54 46 5f 42 59 5f 50 4f 52 54 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 INTF_BY_PORT....................
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 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............
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 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...
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 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
5820 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
5840 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,.
5860 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
5880 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
58a0 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.
58c0 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
58e0 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
5900 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
5920 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
5940 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,
5960 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
5980 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.
59a0 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
59c0 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,.
59e0 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
5a00 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
5a20 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
5a40 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
5a60 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
5a80 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
5aa0 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_
5ac0 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
5ae0 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
5b00 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
5b20 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
5b40 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......"""....
5b60 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
5b80 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):......
5ba0 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
5bc0 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,..........
5be0 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
5c00 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
5c20 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
5c40 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
5c60 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',.............
5c80 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
5ca0 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
5cc0 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):.
5ce0 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'.+.'
5d00 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
5d20 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
5d40 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,
5d60 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 ................................
5d80 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
5da0 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
5dc0 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'
5de0 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
5e00 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
5e20 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...
5e40 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
5e60 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
5e80 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,.
5ea0 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,..........
5ec0 20 20 20 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
5ee0 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):......
5f00 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'.+.'/'.+.
5f20 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
5f40 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._
5f60 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
5f80 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,..................
5fa0 20 20 20 20 20 20 20 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
5fc0 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).......
5fe0 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
6000 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
6020 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
6040 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,.......
6060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6080 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):
60a0 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'.+.
60c0 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
60e0 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
6100 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
6120 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,.........
6140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6160 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
6180 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(
61a0 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)...
61c0 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
61e0 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,....
6200 20 20 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
6220 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_
6240 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:.....
6260 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
6280 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.
62a0 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']...
62c0 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
62e0 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']....
6300 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
6320 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
6340 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,..
6360 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':
6380 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,......................
63a0 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,..............
63c0 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
63e0 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
6400 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......................
6420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
64a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
64c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
64e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
65a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
65c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
65e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6600 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/
6620 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...............
6640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6660 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
6680 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...
66a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
66c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
66e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6700 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...................
6720 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...................
6740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
67a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
67c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
67e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6800 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
6820 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.==============
6840 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 ================================
6860 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.
6880 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
68a0 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.
68c0 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
68e0 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
6900 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
6920 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
6940 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
6960 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
6980 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
69a0 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
69c0 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
69e0 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
6a00 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.
6a20 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
6a40 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.=======
6a60 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
6a80 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
6aa0 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
6ac0 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
6ae0 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
6b00 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
6b20 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
6b40 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
6b60 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
6b80 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
6ba0 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
6bc0 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
6be0 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
6c00 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
6c20 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
6c40 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...
6c60 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
6c80 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.............
6ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6e00 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/
6e20 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..........
6e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6e60 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
6e80 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...
6ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6f00 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...................
6f20 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...................
6f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7000 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/
7020 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.......
7040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7060 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
7080 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...
70a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
70c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
70e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7100 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...................
7120 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...................
7140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
71a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
71c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
71e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7200 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
7220 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
7240 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,.
7260 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
7280 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
72a0 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.
72c0 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
72e0 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
7300 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
7320 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
7340 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,
7360 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
7380 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.
73a0 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
73c0 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,.
73e0 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
7400 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
7420 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
7440 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
7460 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
7480 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...
74a0 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):...
74c0 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.
74e0 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
7500 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
7520 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......"""...
7540 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,.
7560 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):.
7580 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
75a0 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,.....
75c0 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
75e0 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.
7600 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
7620 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
7640 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'
7660 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 ,...............................
7680 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})....
76a0 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
76c0 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_
76e0 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.
7700 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
7720 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,...............
7740 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'
7760 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
7780 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):.......
77a0 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'.+.'/'
77c0 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
77e0 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)
7800 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 ................................
7820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
78a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
78c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
78e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
79a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
79c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
79e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7a00 6e 65 74 77 6f 72 6b 69 6e 67 2d 6f 6e 6f 73 2f 6e 65 74 77 6f 72 6b 69 6e 67 5f 6f 6e 6f 73 2f networking-onos/networking_onos/
7a20 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 32 36 32 37 35 31 33 34 34 32 00 30 32 30 33 32 35 00 20 35 00 00 00 0000000.12627513442.020325..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 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.....................
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 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
a280 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...
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 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
a420 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
a440 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
a460 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
a480 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
a4a0 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
a4c0 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
a4e0 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.#.#.
a500 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
a520 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
a540 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
a560 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"
a580 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.
a5a0 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
a5c0 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
a5e0 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
a600 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
a620 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
a640 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
a660 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
a680 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()..
a6a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a6c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a6e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a7a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a7c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a7e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a800 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/
a820 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/..........................
a840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a860 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
a880 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...
a8a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a8c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a8e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a900 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...................
a920 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...................
a940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
aa00 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/
aa20 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...............
aa40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
aa60 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
aa80 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...
aaa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
aac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
aae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ab00 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...................
ab20 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...................
ab40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ab60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ab80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
aba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
abc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
abe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ac00 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/
ac20 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/.....................
ac40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ac60 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
ac80 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...
aca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
acc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ace0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ad00 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...................
ad20 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...................
ad40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ad60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ad80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ada0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
adc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ade0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ae00 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/
ae20 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/.............
ae40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ae60 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
ae80 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...
aea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
aec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
aee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
af00 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...................
af20 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...................
af40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
af60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
af80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
afa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
afc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
afe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b000 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/
b020 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/..........
b040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b060 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
b080 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...
b0a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b0c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b0e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b100 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...................
b120 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...................
b140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b1a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b1c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b1e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b200 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/
b220 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
b240 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............................
b260 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
b280 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...
b2a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b2c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b2e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b300 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...................
b320 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...................
b340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b3a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b3c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b3e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b400 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
b420 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
b440 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
b460 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
b480 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
b4a0 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
b4c0 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.
b4e0 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.
b500 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
b520 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
b540 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
b560 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
b580 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
b5a0 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
b5c0 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
b5e0 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
b600 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
b620 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
b640 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
b660 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
b680 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
b6a0 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
b6c0 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
b6e0 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
b700 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
b720 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
b740 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.
b760 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
b780 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
b7a0 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
b7c0 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
b7e0 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
b800 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.
b820 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
b840 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',.............................
b860 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
b880 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,.............................
b8a0 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,....
b8c0 20 20 20 20 20 20 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
b8e0 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
b900 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
b920 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
b940 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
b960 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':.....................
b980 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
b9a0 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,........................
b9c0 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
b9e0 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
ba00 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
ba20 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':...
ba40 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
ba60 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',..............
ba80 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
baa0 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_
bac0 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,..........
bae0 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,....
bb00 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
bb20 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
bb40 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_
bb60 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
bb80 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
bba0 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
bbc0 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
bbe0 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':.
bc00 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
bc20 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
bc40 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',.........................
bc60 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,............
bc80 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
bca0 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
bcc0 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,.
bce0 20 20 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'
bd00 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',...............
bd20 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
bd40 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
bd60 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':
bd80 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,...............
bda0 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
bdc0 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,..................
bde0 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
be00 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',.................
be20 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
be40 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'],.....
be60 20 20 20 20 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
be80 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,............
bea0 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
bec0 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
bee0 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
bf00 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
bf20 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_
bf40 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
bf60 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
bf80 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
bfa0 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,...........................
bfc0 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
bfe0 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,.....................
c000 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)
c020 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):.........
c040 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
c060 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
c080 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
c0a0 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
c0c0 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
c0e0 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,.........
c100 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
c120 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
c140 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'
c160 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)..
c180 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
c1a0 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
c1c0 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):......
c1e0 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
c200 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
c220 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()
c240 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
c260 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
c280 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
c2a0 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
c2c0 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
c2e0 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
c300 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':............
c320 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
c340 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
c360 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
c380 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..
c3a0 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)
c3c0 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
c3e0 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
c400 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({
c420 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
c440 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
c460 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.=.
c480 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
c4a0 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
c4c0 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
c4e0 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).
c500 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
c520 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
c540 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
c560 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
c580 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
c5a0 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.
c5c0 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
c5e0 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,........................
c600 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)..
c620 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)
c640 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
c660 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
c680 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
c6a0 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).......
c6c0 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':.
c6e0 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
c700 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_
c720 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
c740 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
c760 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}
c780 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
c7a0 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
c7c0 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.=.
c7e0 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
c800 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
c820 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.\...........
c840 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
c860 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,...........
c880 20 20 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
c8a0 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
c8c0 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
c8e0 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)...
c900 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):
c920 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
c940 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
c960 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.=.
c980 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
c9a0 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
c9c0 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_
c9e0 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,..................
ca00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
ca20 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)....
ca40 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
ca60 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)..
ca80 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(
caa0 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.=
cac0 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[
cae0 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
cb00 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
cb20 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
cb40 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',.
cb60 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})......
cb80 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
cba0 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
cbc0 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
cbe0 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.
cc00 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.=
cc20 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
cc40 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.
cc60 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
cc80 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
cca0 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',.
ccc0 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
cce0 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
cd00 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.
cd20 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.\....
cd40 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
cd60 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,......................
cd80 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
cda0 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
cdc0 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
cde0 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,...........................'
ce00 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
ce20 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_
ce40 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_
ce60 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
ce80 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
cea0 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
cec0 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
cee0 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
cf00 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.
cf20 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',.....
cf40 20 20 20 20 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
cf60 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,........
cf80 20 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
cfa0 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,
cfc0 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 ................................
cfe0 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,......
d000 20 20 20 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
d020 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'
d040 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
d060 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
d080 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
d0a0 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
d0c0 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
d0e0 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_
d100 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}........
d120 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
d140 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',.......................
d160 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_
d180 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.=
d1a0 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
d1c0 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
d1e0 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.\.
d200 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
d220 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,...................
d240 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_
d260 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,..........................
d280 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
d2a0 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_
d2c0 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,.....
d2e0 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
d300 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
d320 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):
d340 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.
d360 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
d380 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
d3a0 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
d3c0 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
d3e0 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',.
d400 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
d420 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
d440 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
d460 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
d480 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.
d4a0 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
d4c0 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):...
d4e0 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_
d500 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,............
d520 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
d540 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,.........................
d560 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}.......
d580 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
d5a0 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
d5c0 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
d5e0 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
d600 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'
d620 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,..........
d640 20 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=
d660 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',.........
d680 20 20 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
d6a0 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
d6c0 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,.'
d6e0 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
d700 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.\.........
d720 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
d740 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,.........
d760 20 20 20 20 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
d780 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
d7a0 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,
d7c0 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
d7e0 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
d800 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.=.{
d820 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,....
d840 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
d860 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
d880 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
d8a0 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
d8c0 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.=
d8e0 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
d900 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=
d920 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,...............
d940 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
d960 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',...........
d980 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
d9a0 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_
d9c0 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,.
d9e0 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
da00 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.\.....
da20 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(
da40 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,.....
da60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
da80 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
daa0 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
dac0 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).
dae0 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
db00 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):....
db20 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
db40 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
db60 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).......
db80 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:..........
dba0 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'],.
dbc0 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
dbe0 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_
dc00 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..........
dc20 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)....
dc40 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]...
dc60 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[
dc80 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.==
dca0 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
dcc0 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
dce0 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
dd00 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
dd20 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
dd40 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
dd60 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
dd80 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
dda0 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'],
ddc0 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)..........................
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 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
de40 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...............................
de60 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
de80 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...
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 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..
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 34 30 35 33 00 20 30 00 00 00 0000000.12627513442.024053..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 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/.........
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 32 34 34 36 00 20 35 00 00 00 0000000.12627513442.022446..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 6d 6c 32 2f 74 65 73 74 5f 64 72 69 76 tests/unit/plugins/ml2/test_driv
e440 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...........................
e460 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
e480 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...
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 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
e620 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
e640 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
e660 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.
e680 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.#..
e6a0 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
e6c0 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
e6e0 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
e700 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
e720 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.#
e740 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
e760 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,
e780 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
e7a0 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
e7c0 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
e7e0 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
e800 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
e820 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
e840 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
e860 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
e880 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.
e8a0 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
e8c0 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
e8e0 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
e900 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
e920 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
e940 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
e960 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.
e980 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
e9a0 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_
e9c0 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
e9e0 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
ea00 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
ea20 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
ea40 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.=.
ea60 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',............
ea80 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':.[],......
eaa0 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'
eac0 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
eae0 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,.....
eb00 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_
eb20 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,......................
eb40 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',...
eb60 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
eb80 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',..........
eba0 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':
ebc0 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,........................'
ebe0 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,.................
ec00 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,.
ec20 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
ec40 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
ec60 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
ec80 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_
eca0 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,.
ecc0 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
ece0 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',
ed00 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 ................................
ed20 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'
ed40 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_
ed60 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':.[],....................
ed80 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,...
eda0 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.
edc0 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',......................
ede0 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,........
ee00 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':.'',......
ee20 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':.
ee40 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
ee60 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,....
ee80 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':.
eea0 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',..................
eec0 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':.[],.....
eee0 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':.
ef00 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',.....................
ef20 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,..............
ef40 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_
ef60 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-
ef80 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
efa0 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',........
efc0 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':.
efe0 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
f000 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':.[],............
f020 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
f040 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
f060 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':.{},...............
f080 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':.[],..........
f0a0 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,
f0c0 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
f0e0 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
f100 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
f120 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
f140 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',...........
f160 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':.'',...........
f180 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
f1a0 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
f1c0 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,..........
f1e0 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
f200 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
f220 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':.{},...........
f240 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':.'
f260 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
f280 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',.....
f2a0 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':.'
f2c0 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
f2e0 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
f300 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,.....................
f320 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
f340 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
f360 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
f380 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
f3a0 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(
f3c0 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)
f3e0 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(
f400 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
f420 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
f440 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
f460 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
f480 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',
f4a0 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.
f4c0 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........
f4e0 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
f500 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,......................
f520 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)....
f540 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
f560 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
f580 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)..
f5a0 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
f5c0 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
f5e0 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
f600 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
f620 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.=.
f640 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
f660 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.=.
f680 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(
f6a0 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.
f6c0 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).........
f6e0 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':.........
f700 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
f720 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
f740 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'.
f760 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
f780 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 ',..............................
f7a0 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']).......
f7c0 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':.
f7e0 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
f800 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
f820 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
f840 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
f860 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
f880 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
f8a0 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
f8c0 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
f8e0 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)...
f900 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
f920 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)........
f940 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
f960 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
f980 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:.
f9a0 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_
f9c0 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).............
f9e0 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
fa00 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)....
fa20 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
fa40 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
fa60 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
fa80 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
faa0 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).
fac0 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
fae0 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',.....................
fb00 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
fb20 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
fb40 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)......
fb60 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
fb80 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
fba0 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_
fbc0 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
fbe0 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
fc00 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.=.
fc20 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
fc40 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
fc60 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',.........
fc80 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
fca0 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
fcc0 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
fce0 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
fd00 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
fd20 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_
fd40 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):.
fd60 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
fd80 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).........
fda0 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
fdc0 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.
fde0 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',..
fe00 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
fe20 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:.......
fe40 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
fe60 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
fe80 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
fea0 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
fec0 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
fee0 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
ff00 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)......
ff20 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
ff40 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
ff60 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'
ff80 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
ffa0 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:....
ffc0 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
ffe0 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
10000 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',.
10020 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.
10040 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
10060 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
10080 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
100a0 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
100c0 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)...
100e0 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.
10100 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',.......................
10120 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
10140 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
10160 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).........
10180 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,
101a0 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
101c0 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
101e0 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.=.
10200 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
10220 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
10240 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)..
10260 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
10280 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',......................
102a0 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
102c0 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
102e0 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)..........
10300 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,.
10320 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)....
10340 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
10360 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.
10380 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)..
103a0 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
103c0 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).......
103e0 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
10400 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
10420 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:
10440 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
10460 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
10480 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'
104a0 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.
104c0 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
104e0 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
10500 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})..
10520 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
10540 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).......
10560 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
10580 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
105a0 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:
105c0 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
105e0 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
10600 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
10620 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)......#
10640 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
10660 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.=.{........
10680 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
106a0 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
106c0 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:.
106e0 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
10700 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
10720 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
10740 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',.
10760 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
10780 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
107a0 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
107c0 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:
107e0 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
10800 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):.....
10820 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
10840 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
10860 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......
10880 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
108a0 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,
108c0 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
108e0 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
10900 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,.......................
10920 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
10940 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
10960 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.
10980 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
109a0 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
109c0 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
109e0 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.
10a00 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:
10a20 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
10a40 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
10a60 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
10a80 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
10aa0 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,..............
10ac0 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
10ae0 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},........
10b00 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)..
10b20 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):...
10b40 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
10b60 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.=."
10b80 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.
10ba0 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
10bc0 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.=
10be0 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
10c00 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'
10c20 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'},........
10c40 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
10c60 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]
10c80 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)..
10ca0 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....
10cc0 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
10ce0 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
10d00 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
10d20 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
10d40 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
10d60 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(..
10d80 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
10da0 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,...........
10dc0 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
10de0 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)..........
10e00 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/
10e20 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__.
10e40 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..............................
10e60 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
10e80 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...
10ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10f00 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...................
10f20 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...................
10f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11000 6e 65 74 77 6f 72 6b 69 6e 67 2d 6f 6e 6f 73 2f 6e 65 74 77 6f 72 6b 69 6e 67 5f 6f 6e 6f 73 2f networking-onos/networking_onos/
11020 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..........
11040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11060 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
11080 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...
110a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
110c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
110e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11100 00 75 73 74 61 72 20 20 00 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...................
11120 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...................
11140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
111a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
111c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
111e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11200 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/............
11220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11260 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
11280 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...
112a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
112c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
112e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11300 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...................
11320 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...................
11340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
113a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
113c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
113e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11400 6e 65 74 77 6f 72 6b 69 6e 67 2d 6f 6e 6f 73 2f 64 6f 63 2f 73 6f 75 72 63 65 2f 00 00 00 00 00 networking-onos/doc/source/.....
11420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11460 00 00 00 00 30 30 30 30 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
11480 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...
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 64 6f 63 2f 73 6f 75 72 63 65 2f 72 65 61 64 6d networking-onos/doc/source/readm
11620 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...........................
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 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...
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 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...
11820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
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 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
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 64 6f 63 2f 73 6f 75 72 63 65 2f 75 73 61 67 65 networking-onos/doc/source/usage
11a20 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............................
11a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
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 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...
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 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.
11c20 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::..
11c40 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......
11c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11e00 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
11e20 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.....................
11e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11e60 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
11e80 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...
11ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11f00 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...................
11f20 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...................
11f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12000 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.======
12020 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
12040 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......................
12060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
120a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
120c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
120e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
121a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
121c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
121e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12200 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
12220 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.....................
12240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12260 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
12280 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...
122a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
122c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
122e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12300 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...................
12320 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...................
12340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
123a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
123c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
123e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12400 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.======
12420 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::...
12440 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
12460 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
12480 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
124a0 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
124c0 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...........
124e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
125a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
125c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
125e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12600 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
12620 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............................
12640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12660 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
12680 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...
126a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
126c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
126e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12700 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...................
12720 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...................
12740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
127a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
127c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
127e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12800 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
12820 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
12840 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
12860 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
12880 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,
128a0 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
128c0 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.
128e0 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
12900 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!.==================
12920 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 ================================
12940 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::.
12960 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
12980 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
129a0 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.========
129c0 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`.*.
129e0 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`.
12a00 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 ................................
12a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12c00 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.
12c20 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..............................
12c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12c60 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
12c80 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...
12ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12d00 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...................
12d20 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...................
12d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12e00 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
12e20 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
12e40 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.
12e60 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.
12e80 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
12ea0 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
12ec0 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.
12ee0 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
12f00 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
12f20 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
12f40 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
12f60 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
12f80 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
12fa0 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
12fc0 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
12fe0 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
13000 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
13020 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
13040 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(
13060 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('../..')).#.-
13080 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.--------
130a0 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 --------------------------------
130c0 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
130e0 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
13100 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
13120 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
13140 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..
13160 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
13180 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
131a0 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
131c0 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
131e0 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
13200 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
13220 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
13240 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
13260 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
13280 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
132a0 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
132c0 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
132e0 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
13300 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,
13320 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
13340 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
13360 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
13380 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..#
133a0 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
133c0 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
133e0 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...
13400 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.=
13420 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
13440 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
13460 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'.
13480 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.--
134a0 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 --------------------------------
134c0 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
134e0 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
13500 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.
13520 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'
13540 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
13560 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
13580 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
135a0 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
135c0 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
135e0 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
13600 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
13620 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
13640 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
13660 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
13680 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.=.[.
136a0 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
136c0 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'.
136e0 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
13700 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
13720 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:.
13740 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
13760 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
13780 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}..
137a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
137c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
137e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13800 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.....
13820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13860 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
13880 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...
138a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
138c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
138e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13900 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...................
13920 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...................
13940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
139a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
139c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
139e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13a00 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.===============.
13a20 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
13a40 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
13a60 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
13a80 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
13aa0 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
13ac0 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
13ae0 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
13b00 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
13b20 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
13b40 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
13b60 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
13b80 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..
13ba0 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,
13bc0 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
13be0 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
13c00 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.
13c20 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.
13c40 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
13c60 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.------------------
13c80 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
13ca0 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
13cc0 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
13ce0 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
13d00 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
13d20 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
13d40 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.
13d60 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.
13d80 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.
13da0 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.~~~~~~~~~
13dc0 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
13de0 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
13e00 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
13e20 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
13e40 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
13e60 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.
13e80 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
13ea0 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
13ec0 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
13ee0 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
13f00 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
13f20 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::..
13f40 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
13f60 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
13f80 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
13fa0 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
13fc0 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.--------------
13fe0 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
14000 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.
14020 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
14040 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
14060 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
14080 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
140a0 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
140c0 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
140e0 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
14100 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
14120 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
14140 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.
14160 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
14180 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
141a0 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`.~~~~
141c0 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.
141e0 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
14200 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
14220 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
14240 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..
14260 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
14280 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
142a0 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.
142c0 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
142e0 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
14300 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
14320 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
14340 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
14360 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.
14380 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
143a0 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
143c0 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
143e0 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
14400 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:/
14420 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/
14440 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`.~~~~~~~~~
14460 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
14480 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
144a0 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
144c0 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
144e0 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
14500 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
14520 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
14540 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
14560 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
14580 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
145a0 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.
145c0 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
145e0 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
14600 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.
14620 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
14640 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
14660 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
14680 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
146a0 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
146c0 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
146e0 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
14700 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:....
14720 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/
14740 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
14760 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:
14780 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
147a0 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://
147c0 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.
147e0 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.~~~~~
14800 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
14820 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
14840 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
14860 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
14880 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
148a0 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
148c0 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
148e0 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
14900 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.
14920 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
14940 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
14960 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_
14980 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
149a0 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
149c0 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.~~
149e0 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
14a00 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.
14a20 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.
14a40 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
14a60 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.
14a80 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
14aa0 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.
14ac0 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
14ae0 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
14b00 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
14b20 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
14b40 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
14b60 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
14b80 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
14ba0 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
14bc0 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.-
14be0 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
14c00 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.
14c20 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
14c40 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
14c60 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
14c80 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
14ca0 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
14cc0 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
14ce0 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
14d00 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
14d20 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::....
14d40 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
14d60 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.--
14d80 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
14da0 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
14dc0 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
14de0 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
14e00 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
14e20 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.=
14e40 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
14e60 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/
14e80 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.......................
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 73 65 74 75 70 2e 63 66 67 00 00 00 00 00 00 00 networking-onos/setup.cfg.......
15020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
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 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...
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 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
15220 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
15240 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
15260 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
15280 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
152a0 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
152c0 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
152e0 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
15300 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
15320 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.::.
15340 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
15360 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
15380 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
153a0 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
153c0 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
153e0 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..
15400 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
15420 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.=....
15440 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.=...
15460 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.=.....
15480 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].
154a0 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
154c0 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
154e0 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_
15500 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
15520 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
15540 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_
15560 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
15580 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_
155a0 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.
155c0 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
155e0 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
15600 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
15620 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
15640 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
15660 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
15680 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
156a0 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
156c0 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.
156e0 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
15700 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
15720 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
15740 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
15760 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............................
15780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
157a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
157c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
157e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15800 6e 65 74 77 6f 72 6b 69 6e 67 2d 6f 6e 6f 73 2f 74 65 73 74 2d 72 65 71 75 69 72 65 6d 65 6e 74 networking-onos/test-requirement
15820 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...........................
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 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...
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 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
15a20 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
15a40 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.
15a60 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
15a80 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
15aa0 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
15ac0 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,
15ae0 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
15b00 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
15b20 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.
15b40 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.
15b60 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
15b80 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
15ba0 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..........
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 72 65 71 75 69 72 65 6d 65 6e 74 73 2e 74 78 74 networking-onos/requirements.txt
15c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
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 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...
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 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
15e20 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
15e40 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.
15e60 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
15e80 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
15ea0 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
15ec0 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
15ee0 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
15f00 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
15f20 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.............................
15f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16000 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.....
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 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
16080 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...
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 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...................
16120 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...................
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 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
16220 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
16240 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
16260 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
16280 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...............................
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 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
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 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........
16420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16460 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
16480 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...
164a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
164c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
164e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16500 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...................
16520 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...................
16540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
165a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
165c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
165e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16600 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
16620 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..#
16640 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
16660 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"
16680 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
166a0 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
166c0 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
166e0 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
16700 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.
16720 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
16740 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,
16760 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
16780 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."
167a0 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
167c0 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
167e0 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
16800 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
16820 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
16840 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
16860 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
16880 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
168a0 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.
168c0 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
168e0 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
16900 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
16920 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`..
16940 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
16960 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
16980 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..#.
169a0 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
169c0 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
169e0 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
16a00 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).............................
16a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16c00 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......
16c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16c60 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
16c80 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...
16ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16d00 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...................
16d20 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...................
16d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
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 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.===============.
16e20 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
16e40 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.
16e60 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
16e80 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
16ea0 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
16ec0 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
16ee0 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.
16f00 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
16f20 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
16f40 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
16f60 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
16f80 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
16fa0 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
16fc0 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
16fe0 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
17000 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
17020 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
17040 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
17060 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
17080 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.==================
170a0 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
170c0 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
170e0 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
17100 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
17120 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....
17140 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
17160 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.
17180 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
171a0 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....
171c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
171e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17200 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.........
17220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17260 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
17280 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...
172a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
172c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
172e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17300 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...................
17320 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...................
17340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
173a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
173c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
173e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17400 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 ................................
17420 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................
17440 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
17460 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
17480 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/...
174a0 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,.
174c0 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..
174e0 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
17500 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
17520 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,..
17540 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
17560 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
17580 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
175a0 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
175c0 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
175e0 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
17600 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
17620 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
17640 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.
17660 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
17680 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...
176a0 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
176c0 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
176e0 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
17700 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
17720 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
17740 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
17760 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
17780 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
177a0 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
177c0 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
177e0 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...
17800 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
17820 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
17840 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
17860 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
17880 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
178a0 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
178c0 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
178e0 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
17900 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
17920 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
17940 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
17960 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
17980 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
179a0 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
179c0 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
179e0 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,....
17a00 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
17a20 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
17a40 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
17a60 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
17a80 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
17aa0 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
17ac0 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
17ae0 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.......(
17b00 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
17b20 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
17b40 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
17b60 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.......
17b80 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
17ba0 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.
17bc0 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
17be0 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
17c00 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
17c20 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
17c40 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..
17c60 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
17c80 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
17ca0 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,
17cc0 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
17ce0 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
17d00 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
17d20 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
17d40 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
17d60 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
17d80 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
17da0 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.
17dc0 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
17de0 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
17e00 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
17e20 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
17e40 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
17e60 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
17e80 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
17ea0 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.
17ec0 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"....
17ee0 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,
17f00 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
17f20 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.
17f40 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
17f60 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
17f80 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
17fa0 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,.
17fc0 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
17fe0 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
18000 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
18020 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
18040 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
18060 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
18080 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.....
180a0 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
180c0 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
180e0 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
18100 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
18120 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
18140 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
18160 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....
18180 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
181a0 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
181c0 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.
181e0 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
18200 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
18220 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,..
18240 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
18260 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
18280 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
182a0 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
182c0 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
182e0 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
18300 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
18320 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
18340 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
18360 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
18380 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
183a0 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
183c0 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,....
183e0 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-
18400 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
18420 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
18440 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
18460 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
18480 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
184a0 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
184c0 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.
184e0 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..
18500 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
18520 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
18540 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.
18560 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
18580 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
185a0 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
185c0 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.
185e0 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
18600 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
18620 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
18640 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
18660 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
18680 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
186a0 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
186c0 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
186e0 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.
18700 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
18720 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.
18740 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.
18760 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
18780 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.
187a0 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
187c0 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
187e0 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
18800 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
18820 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
18840 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
18860 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
18880 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
188a0 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;.
188c0 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
188e0 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
18900 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
18920 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...
18940 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
18960 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
18980 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
189a0 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
189c0 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.
189e0 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.
18a00 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
18a20 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.
18a40 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
18a60 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
18a80 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
18aa0 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..........
18ac0 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
18ae0 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
18b00 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
18b20 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
18b40 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
18b60 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
18b80 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
18ba0 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.
18bc0 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..........
18be0 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
18c00 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.
18c20 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
18c40 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
18c60 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
18c80 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
18ca0 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.
18cc0 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
18ce0 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
18d00 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.
18d20 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...
18d40 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
18d60 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
18d80 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
18da0 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
18dc0 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
18de0 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
18e00 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
18e20 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
18e40 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........
18e60 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
18e80 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.
18ea0 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
18ec0 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.
18ee0 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
18f00 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.
18f20 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.
18f40 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
18f60 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
18f80 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.....
18fa0 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.
18fc0 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,..
18fe0 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
19000 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
19020 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
19040 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
19060 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.
19080 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,.
190a0 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
190c0 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.
190e0 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
19100 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
19120 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
19140 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
19160 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
19180 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
191a0 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......
191c0 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
191e0 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
19200 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
19220 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
19240 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
19260 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.
19280 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
192a0 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.
192c0 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
192e0 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.
19300 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
19320 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
19340 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...
19360 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
19380 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.
193a0 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
193c0 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
193e0 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
19400 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".
19420 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.
19440 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
19460 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
19480 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
194a0 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
194c0 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
194e0 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.....
19500 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
19520 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
19540 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
19560 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
19580 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
195a0 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
195c0 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
195e0 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
19600 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
19620 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
19640 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
19660 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
19680 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
196a0 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.
196c0 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
196e0 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
19700 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
19720 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
19740 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
19760 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
19780 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.
197a0 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
197c0 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
197e0 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
19800 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
19820 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
19840 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...
19860 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.
19880 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
198a0 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.
198c0 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.....
198e0 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
19900 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
19920 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
19940 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.
19960 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
19980 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
199a0 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
199c0 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
199e0 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.......
19a00 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
19a20 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
19a40 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
19a60 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.
19a80 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
19aa0 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.
19ac0 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.
19ae0 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
19b00 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.
19b20 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,.
19b40 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......
19b60 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
19b80 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....
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 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.........
19c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19c60 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
19c80 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...
19ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19d00 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...................
19d20 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...................
19d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19e00 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
19e20 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
19e40 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
19e60 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
19e80 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
19ea0 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
19ec0 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
19ee0 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
19f00 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
19f20 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
19f40 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:
19f60 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/
19f80 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.
19fa0 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
19fc0 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
19fe0 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
1a000 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
1a020 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
1a040 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_
1a060 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
1a080 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
1a0a0 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.
1a0c0 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
1a0e0 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
1a100 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.
1a120 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
1a140 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.
1a160 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
1a180 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
1a1a0 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
1a1c0 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
1a1e0 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......................
1a200 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/..........
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 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
1a280 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...
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 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
1a420 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.............................
1a440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a460 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
1a480 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...
1a4a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a4c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a4e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a500 00 75 73 74 61 72 20 20 00 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...................
1a520 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...................
1a540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a5a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a5c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a5e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a600 23 21 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
1a620 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
1a640 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.--
1a660 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
1a680 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)
1a6a0 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
1a6c0 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...........................
1a6e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a7a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a7c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a7e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a800 6e 65 74 77 6f 72 6b 69 6e 67 2d 6f 6e 6f 73 2f 74 6f 6f 6c 73 2f 63 68 65 63 6b 5f 69 31 38 6e networking-onos/tools/check_i18n
1a820 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..................
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 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...
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 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.#.
1aa20 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.
1aa40 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
1aa60 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
1aa80 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
1aaa0 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
1aac0 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
1aae0 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
1ab00 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.%
1ab20 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
1ab40 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
1ab60 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
1ab80 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
1aba0 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.
1abc0 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
1abe0 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
1ac00 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
1ac20 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
1ac40 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')).
1ac60 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,.
1ac80 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
1aca0 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
1acc0 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
1ace0 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
1ad00 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')..#
1ad20 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
1ad40 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
1ad60 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.
1ad80 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,
1ada0 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.
1adc0 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
1ade0 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"..
1ae00 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
1ae20 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.=.
1ae40 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
1ae60 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'
1ae80 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
1aea0 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
1aec0 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.*.
1aee0 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
1af00 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"..#
1af20 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
1af40 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
1af60 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
1af80 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:.....
1afa0 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............................
1afc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1afe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1b000 6e 65 74 77 6f 72 6b 69 6e 67 2d 6f 6e 6f 73 2f 74 6f 6f 6c 73 2f 69 6e 73 74 61 6c 6c 5f 76 65 networking-onos/tools/install_ve
1b020 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....................
1b040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1b060 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
1b080 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...
1b0a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1b0c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1b0e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1b100 00 75 73 74 61 72 20 20 00 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...................
1b120 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...................
1b140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1b160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1b180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1b1a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1b1c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1b1e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1b200 23 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
1b220 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.
1b240 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
1b260 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
1b280 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
1b2a0 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
1b2c0 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.#..
1b2e0 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.#.#..
1b300 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
1b320 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.
1b340 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
1b360 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.#..
1b380 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.
1b3a0 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
1b3c0 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
1b3e0 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
1b400 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
1b420 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
1b440 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
1b460 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...
1b480 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
1b4a0 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.
1b4c0 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
1b4e0 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.
1b500 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.
1b520 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.
1b540 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
1b560 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
1b580 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._
1b5a0 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.
1b5c0 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
1b5e0 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.
1b600 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.__
1b620 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
1b640 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
1b660 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,..........
1b680 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
1b6a0 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
1b6c0 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.=.
1b6e0 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
1b700 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.
1b720 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
1b740 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
1b760 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,.
1b780 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.%.
1b7a0 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
1b7c0 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
1b7e0 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
1b800 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):...........
1b820 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.
1b840 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
1b860 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
1b880 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,........................
1b8a0 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):...
1b8c0 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
1b8e0 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
1b900 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.
1b920 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.
1b940 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
1b960 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
1b980 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:.....
1b9a0 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
1b9c0 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=
1b9e0 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).......
1ba00 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]
1ba20 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.
1ba40 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:...........
1ba60 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.
1ba80 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)...
1baa0 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
1bac0 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
1bae0 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
1bb00 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
1bb20 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
1bb40 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,.............
1bb60 20 20 20 20 20 20 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
1bb80 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
1bba0 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
1bbc0 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
1bbe0 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
1bc00 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')):.......
1bc20 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(............
1bc40 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.
1bc60 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
1bc80 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
1bca0 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
1bcc0 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(...
1bce0 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
1bd00 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,..........
1bd20 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
1bd40 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)...
1bd60 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):
1bd80 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
1bda0 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_
1bdc0 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
1bde0 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.
1be00 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
1be20 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
1be40 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.
1be60 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
1be80 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
1bea0 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):.
1bec0 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
1bee0 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
1bf00 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:.................
1bf20 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',.
1bf40 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',.....
1bf60 20 20 20 20 20 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
1bf80 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:......
1bfa0 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
1bfc0 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])....
1bfe0 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.').........
1c000 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
1c020 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
1c040 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
1c060 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([
1c080 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',...........
1c0a0 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',
1c0c0 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),.....
1c0e0 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
1c100 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
1c120 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('
1c140 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
1c160 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)...')...
1c180 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
1c1a0 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
1c1c0 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.
1c1e0 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
1c200 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
1c220 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
1c240 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
1c260 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
1c280 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)
1c2a0 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)
1c2c0 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
1c2e0 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.=.
1c300 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().........
1c320 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
1c340 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',...................
1c360 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',....
1c380 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.
1c3a0 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
1c3c0 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.".......................
1c3e0 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
1c400 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:])[
1c420 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):.
1c440 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):..
1c460 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
1c480 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],.............
1c4a0 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
1c4c0 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
1c4e0 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
1c500 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'):.............
1c520 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
1c540 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
1c560 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.
1c580 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='.')......
1c5a0 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
1c5c0 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']):.....
1c5e0 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')..
1c600 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...........
1c620 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
1c640 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
1c660 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
1c680 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
1c6a0 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
1c6c0 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'................
1c6e0 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.
1c700 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
1c720 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
1c740 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.
1c760 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
1c780 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....."""..
1c7a0 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):...
1c7c0 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
1c7e0 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],.....
1c800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1c820 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].
1c840 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
1c860 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
1c880 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
1c8a0 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
1c8c0 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'):........
1c8e0 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
1c900 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
1c920 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
1c940 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()..........................
1c960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c9a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c9c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c9e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ca00 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
1ca20 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...........................
1ca40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ca60 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
1ca80 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...
1caa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1cac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1cae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1cb00 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...................
1cb20 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...................
1cb40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1cb60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1cb80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1cba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1cbc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1cbe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1cc00 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
1cc20 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.
1cc40 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
1cc60 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
1cc80 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
1cca0 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
1ccc0 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
1cce0 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
1cd00 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,
1cd20 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
1cd40 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
1cd60 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
1cd80 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
1cda0 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
1cdc0 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
1cde0 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
1ce00 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
1ce20 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
1ce40 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
1ce60 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
1ce80 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.
1cea0 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
1cec0 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
1cee0 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
1cf00 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.#..
1cf20 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
1cf40 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
1cf60 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
1cf80 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
1cfa0 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
1cfc0 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..
1cfe0 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.=.""
1d000 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
1d020 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.
1d040 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
1d060 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
1d080 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
1d0a0 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
1d0c0 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
1d0e0 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
1d100 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
1d120 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
1d140 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
1d160 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
1d180 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
1d1a0 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
1d1c0 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
1d1e0 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
1d200 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
1d220 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
1d240 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.
1d260 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')...
1d280 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
1d2a0 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
1d2c0 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,.'
1d2e0 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
1d300 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
1d320 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[
1d340 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'.....
1d360 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
1d380 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
1d3a0 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,.....................
1d3c0 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
1d3e0 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
1d400 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
1d420 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
1d440 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
1d460 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
1d480 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).....
1d4a0 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()..
1d4c0 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__.==
1d4e0 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).
1d500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d5a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d5c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d5e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d600 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
1d620 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.............................
1d640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d660 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
1d680 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...
1d6a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d6c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d6e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d700 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...................
1d720 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...................
1d740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d7a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d7c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d7e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d800 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
1d820 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
1d840 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
1d860 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>.#
1d880 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
1d8a0 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,.
1d8c0 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
1d8e0 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
1d900 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
1d920 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
1d940 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
1d960 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
1d980 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
1d9a0 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.
1d9c0 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
1d9e0 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
1da00 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
1da20 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
1da40 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
1da60 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.
1da80 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.
1daa0 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.#...
1dac0 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
1dae0 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
1db00 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
1db20 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
1db40 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
1db60 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
1db80 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
1dba0 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.-
1dbc0 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
1dbe0 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.[.${
1dc00 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
1dc20 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.
1dc40 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
1dc60 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
1dc80 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...........
1dca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1dcc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1dce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1dd00 00 00 00 00 00 00 00 00 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 73 75 62 75 6e 69 74 2d 74 72 networking-onos/tools/subunit-tr
1de20 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..........................
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 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...
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 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
1e020 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
1e040 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
1e060 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
1e080 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
1e0a0 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
1e0c0 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.
1e0e0 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
1e100 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
1e120 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.#
1e140 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
1e160 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
1e180 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
1e1a0 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
1e1c0 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
1e1e0 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
1e200 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
1e220 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.
1e240 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
1e260 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
1e280 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
1e2a0 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
1e2c0 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.
1e2e0 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
1e300 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
1e320 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
1e340 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
1e360 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.
1e380 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
1e3a0 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
1e3c0 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
1e3e0 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
1e400 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
1e420 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
1e440 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
1e460 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.
1e480 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
1e4a0 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
1e4c0 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
1e4e0 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
1e500 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,.........
1e520 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
1e540 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):........
1e560 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(....
1e580 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,..
1e5a0 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,.
1e5c0 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
1e5e0 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
1e600 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
1e620 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=
1e640 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)
1e660 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:........
1e680 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:.........
1e6a0 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
1e6c0 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
1e6e0 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':..........
1e700 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;.
1e720 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
1e740 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.
1e760 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)......
1e780 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.
1e7a0 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(.......
1e7c0 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
1e7e0 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
1e800 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(............
1e820 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
1e840 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
1e860 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
1e880 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':...
1e8a0 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.
1e8c0 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.
1e8e0 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
1e900 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
1e920 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:..........
1e940 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:........
1e960 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
1e980 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.
1e9a0 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.=
1e9c0 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_
1e9e0 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
1ea00 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-'):.......
1ea20 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
1ea40 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
1ea60 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.=.
1ea80 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()...........
1eaa0 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.
1eac0 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
1eae0 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'.%..
1eb00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1eb20 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))...
1eb40 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
1eb60 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
1eb80 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
1eba0 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.
1ebc0 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
1ebe0 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.
1ec00 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
1ec20 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.
1ec40 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......
1ec60 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
1ec80 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
1eca0 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
1ecc0 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
1ece0 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
1ed00 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......""".....
1ed20 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
1ed40 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_
1ed60 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.
1ed80 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
1eda0 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.=.
1edc0 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
1ede0 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:]....
1ee00 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.
1ee20 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
1ee40 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
1ee60 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
1ee80 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.>.
1eea0 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.
1eec0 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].............
1eee0 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:]..
1ef00 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
1ef20 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
1ef40 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
1ef60 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
1ef80 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
1efa0 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.
1efc0 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'.%.
1efe0 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
1f000 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
1f020 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.
1f040 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
1f060 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
1f080 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-'):.....
1f0a0 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:]).....
1f0c0 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
1f0e0 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
1f100 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
1f120 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
1f140 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.....
1f160 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.
1f180 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
1f1a0 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
1f1c0 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
1f1e0 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
1f200 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.
1f220 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
1f240 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
1f260 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():...
1f280 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
1f2a0 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.
1f2c0 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
1f2e0 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
1f300 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
1f320 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
1f340 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':
1f360 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
1f380 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
1f3a0 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
1f3c0 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
1f3e0 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....
1f400 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\
1f420 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)))
1f440 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
1f460 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
1f480 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.....
1f4a0 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
1f4c0 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'):...............
1f4e0 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
1f500 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
1f520 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
1f540 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....
1f560 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
1f580 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
1f5a0 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'
1f5c0 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
1f5e0 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
1f600 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
1f620 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
1f640 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.
1f660 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]
1f680 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
1f6a0 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
1f6c0 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..
1f6e0 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
1f700 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
1f720 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
1f740 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('{%
1f760 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'.%.(....
1f780 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)
1f7a0 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:
1f7c0 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
1f7e0 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).
1f800 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
1f820 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':..........
1f840 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]...
1f860 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
1f880 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))............
1f8a0 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)
1f8c0 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':.
1f8e0 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}.%
1f900 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'.%.(........
1f920 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
1f940 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()))....
1f960 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
1f980 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'.%.(.
1f9a0 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
1f9c0 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']))........
1f9e0 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:.....
1fa00 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
1fa20 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)..
1fa40 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
1fa60 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
1fa80 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
1faa0 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.
1fac0 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.....
1fae0 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.
1fb00 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......""".
1fb20 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
1fb40 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===========
1fb60 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
1fb80 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
1fba0 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
1fbc0 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===================
1fbe0 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
1fc00 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
1fc20 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
1fc40 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'])))
1fc60 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
1fc80 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
1fca0 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
1fcc0 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....
1fce0 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():...
1fd00 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:............
1fd20 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:................
1fd40 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]):
1fd60 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.
1fd80 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(
1fda0 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,.
1fdc0 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
1fde0 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
1fe00 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
1fe20 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
1fe40 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
1fe60 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
1fe80 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)....
1fea0 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']
1fec0 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].
1fee0 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
1ff00 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
1ff20 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===
1ff40 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:.%
1ff60 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('
1ff80 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',.'.*'),.................
1ffa0 20 20 20 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
1ffc0 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
1ffe0 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
20000 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(
20020 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
20040 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
20060 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
20080 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
200a0 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
200c0 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
200e0 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
20100 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
20120 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"
20140 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
20160 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):.............
20180 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:............
201a0 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(..............
201c0 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
201e0 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
20200 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).
20220 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:...............
20240 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)...
20260 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
20280 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".%.
202a0 20 20 20 20 20 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,
202c0 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():
202e0 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
20300 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(
20320 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
20340 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',................
20360 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',.
20380 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.'
203a0 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.
203c0 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
203e0 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
20400 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',.........
20420 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
20440 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.'..
20460 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
20480 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
204a0 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
204c0 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',..
204e0 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
20500 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
20520 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",.......................
20540 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=(.....................
20560 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
20580 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).................
205a0 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
205c0 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.
205e0 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().
20600 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
20620 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
20640 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')....
20660 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)....
20680 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
206a0 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
206c0 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,.........
206e0 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
20700 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,...........
20720 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
20740 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.......................)).
20760 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
20780 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
207a0 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
207c0 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
207e0 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
20800 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:.........
20820 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
20840 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:...
20860 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
20880 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").......
208a0 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
208c0 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
208e0 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)
20900 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
20920 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__.
20940 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
20960 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 ()).............................
20980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
209a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
209c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
209e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20a00 6e 65 74 77 6f 72 6b 69 6e 67 2d 6f 6e 6f 73 2f 74 6f 6f 6c 73 2f 63 68 65 63 6b 5f 69 31 38 6e networking-onos/tools/check_i18n
20a20 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.............................
20a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20a60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
20a80 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...
20aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20b00 00 75 73 74 61 72 20 20 00 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...................
20b20 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...................
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 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
20c20 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
20c40 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.(
20c60 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
20c80 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
20ca0 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
20cc0 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.
20ce0 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
20d00 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.#.#...
20d20 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
20d40 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
20d60 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.
20d80 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
20da0 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
20dc0 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
20de0 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
20e00 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.
20e20 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
20e40 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
20e60 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
20e80 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
20ea0 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
20ec0 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):....
20ee0 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._()
20f00 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
20f20 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):......
20f40 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
20f60 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):..........
20f80 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.==.'
20fa0 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.
20fc0 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
20fe0 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):
21000 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
21020 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.
21040 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
21060 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
21080 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
210a0 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(
210c0 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,
210e0 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,.
21100 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
21120 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
21140 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
21160 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
21180 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
211a0 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.........
211c0 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
211e0 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
21200 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
21220 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
21240 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):........
21260 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
21280 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.........
212a0 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):.........
212c0 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
212e0 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:.............
21300 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):...........
21320 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
21340 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'.%......................
21360 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
21380 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
213a0 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],..
213c0 20 20 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
213e0 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),...............
21400 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)...
21420 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
21440 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.....
21460 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:...............
21480 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'.%........
214a0 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
214c0 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,.....................
214e0 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][:
21500 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
21520 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
21540 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
21560 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:........
21580 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):....
215a0 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
215c0 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
215e0 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:.........................
21600 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'.%......
21620 20 20 20 20 20 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
21640 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,.......
21660 20 20 20 20 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
21680 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],...
216a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
216c0 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"))........................
216e0 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
21700 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':.............
21720 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.
21740 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'.%....................
21760 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.
21780 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,.........................
217a0 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.-.
217c0 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],........................
217e0 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)
21800 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 ,...............................
21820 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)...............
21840 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........
21860 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.........
21880 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
218a0 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
218c0 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'.%...............
218e0 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,.
21900 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,....................
21920 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
21940 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],....................
21960 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))...
21980 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....
219a0 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
219c0 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.
219e0 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
21a00 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
21a20 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.
21a40 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(.
21a60 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)):
21a80 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
21aa0 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
21ac0 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_
21ae0 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
21b00 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
21b20 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
21b40 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,................
21b60 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
21b80 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,..............................
21ba0 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,...
21bc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
21be0 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,........
21c00 20 20 20 20 20 20 20 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
21c20 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),..........................
21c40 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
21c60 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__'
21c80 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]..
21ca0 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
21cc0 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
21ce0 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
21d00 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
21d20 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
21d40 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_
21d60 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
21d80 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
21da0 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
21dc0 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
21de0 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..
21e00 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:........
21e20 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':........
21e40 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
21e60 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
21e80 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,...
21ea0 20 20 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
21ec0 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,..................
21ee0 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,.
21f00 20 20 20 20 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
21f20 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
21f40 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
21f60 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:.
21f80 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('.
21fa0 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..
21fc0 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.
21fe0 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.
22000 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
22020 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
22040 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
22060 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,...................
22080 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,....
220a0 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
220c0 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,.....................
220e0 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
22100 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).....
22120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
221a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
221c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
221e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22200 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.
22220 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..............................
22240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22260 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
22280 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...
222a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
222c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
222e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22300 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...................
22320 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...................
22340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
223a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
223c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
223e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22400 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
22420 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.
22440 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.
22460 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.
22480 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
224a0 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
224c0 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
224e0 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
22500 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
22520 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.#.#..
22540 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.
22560 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
22580 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
225a0 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
225c0 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
225e0 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,.
22600 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
22620 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
22640 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.
22660 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
22680 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
226a0 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
226c0 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.&&."$@"..............
226e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
227a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
227c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
227e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22800 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..
22820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22860 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
22880 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...
228a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
228c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
228e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22900 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...................
22920 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...................
22940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
229a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
229c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
229e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22a00 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
22a20 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
22a40 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
22a60 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
22a80 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
22aa0 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-*.....
22ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22c00 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
22c20 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...............................
22c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22c60 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
22c80 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...
22ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22d00 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...................
22d20 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...................
22d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22e00 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.
22e20 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
22e40 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
22e60 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
22e80 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):.........
22ea0 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
22ec0 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):
22ee0 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.
22f00 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):....
22f20 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.
22f40 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],........
22f60 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.
22f80 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
22fa0 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.
22fc0 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
22fe0 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
23000 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):...
23020 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
23040 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
23060 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
23080 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):..
230a0 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
230c0 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.
230e0 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):.
23100 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
23120 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):.....
23140 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
23160 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],.........
23180 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
231a0 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
231c0 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.=
231e0 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
23200 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.
23220 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):....."""
23240 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)"""....
23260 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
23280 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
232a0 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
232c0 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.
232e0 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
23300 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
23320 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.==.'_':.........
23340 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
23360 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
23380 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
233a0 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).""
233c0 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.=.[.....#.
233e0 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
23400 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
23420 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',.''),....
23440 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}.....
23460 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,.
23480 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',.''),
234a0 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']..
234c0 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
234e0 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
23500 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..
23520 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
23540 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'
23560 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",
23580 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.
235a0 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
235c0 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('.')).<=.
235e0 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.=
23600 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
23620 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(
23640 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
23660 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
23680 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
236a0 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
236c0 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',.'')
236e0 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.....(
23700 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
23720 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
23740 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
23760 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_
23780 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.
237a0 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
237c0 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
237e0 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_
23800 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.
23820 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'.%
23840 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
23860 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..
23880 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
238a0 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').]...
238c0 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
238e0 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).""
23900 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.=.[.....#.
23920 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.
23940 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.
23960 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:
23980 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
239a0 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,.....
239c0 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.
239e0 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")
23a00 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
23a20 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
23a40 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
23a60 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
23a80 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.
23aa0 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
23ac0 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
23ae0 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("
23b00 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
23b20 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",
23b40 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
23b60 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",....................".
23b80 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
23ba0 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 "]..............................
23bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
23be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
23c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
23c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
23c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
23c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
23c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
23ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
23cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
23ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
23d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
23d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
23d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
23d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
23d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
23da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
23dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
23de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
23e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
23e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
23e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
23e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
23e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
23ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
23ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
23ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
23f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
23f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
23f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
23f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
23f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
23fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
23fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
23fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
240a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
240c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
240e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
241a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
241c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
241e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
242a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
242c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
242e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
243a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
243c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
243e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
244a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
244c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
244e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
245a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
245c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
245e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
246a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
246c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
246e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
247a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
247c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
247e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
248a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
248c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
248e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
249a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
249c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
249e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
250a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
250c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
250e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
251a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
251c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
251e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
252a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
252c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
252e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
253a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
253c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
253e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
254a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
254c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
254e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
255a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
255c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
255e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
256a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
256c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
256e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
257a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
257c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
257e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................