Merge pull request #926 from Luap99/remove

remove coverprofile and remove pkg/defaulnet
This commit is contained in:
OpenShift Merge Robot 2022-02-14 09:15:38 -05:00 committed by GitHub
commit bdd89a50af
3 changed files with 1 additions and 705 deletions

1
common/.gitignore vendored
View File

@ -13,3 +13,4 @@ contrib/spec/podman.spec
*~
build
./generate
*.coverprofile

View File

@ -1,483 +0,0 @@
mode: count
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:25.110,36.16 4 175
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:39.2,39.37 1 175
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:47.2,48.16 2 175
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:51.2,57.34 5 175
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:109.2,111.22 2 174
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:36.16,38.3 1 0
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:39.37,40.51 1 19
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:40.51,44.4 2 19
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:48.16,50.3 1 0
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:58.33,61.17 3 137
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:64.3,67.19 2 137
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:72.3,72.22 1 137
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:75.3,75.23 1 137
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:79.3,80.17 2 137
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:84.34,87.17 3 38
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:90.3,93.23 2 38
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:97.3,98.17 2 38
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:102.10,105.39 1 0
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:61.17,63.4 1 0
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:67.19,69.4 1 19
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:72.22,74.4 1 19
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:75.23,77.4 1 19
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:80.17,82.4 1 1
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:87.17,89.4 1 0
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:93.23,95.4 1 19
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:98.17,100.4 1 0
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:114.74,115.33 1 174
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:120.2,120.14 1 78
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:115.33,116.34 1 678
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:116.34,118.4 1 96
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:125.95,126.45 1 175
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:131.2,131.50 1 137
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:135.2,136.32 2 137
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:194.2,194.12 1 136
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:126.45,129.3 2 38
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:131.50,133.3 1 0
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:136.32,137.26 1 156
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:137.26,143.18 3 156
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:146.4,150.26 3 156
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:167.4,171.29 4 155
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:177.4,177.27 1 155
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:183.4,183.44 1 155
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:188.4,188.32 1 155
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:191.4,191.48 1 155
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:143.18,145.5 1 0
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:150.26,152.23 2 118
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:156.5,157.20 2 117
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:152.23,154.6 1 1
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:157.20,159.6 1 97
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:160.10,160.32 1 38
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:160.32,163.19 2 19
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:163.19,165.6 1 0
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:171.29,173.26 2 19
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:173.26,175.6 1 0
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:177.27,179.24 2 19
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:179.24,181.6 1 0
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:183.44,187.5 3 19
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:188.32,190.5 1 20
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:198.96,199.35 1 38
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:210.2,210.12 1 19
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:199.35,200.54 1 19
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:200.54,202.29 2 19
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:207.4,207.17 1 19
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:202.29,203.32 1 19
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:203.32,205.6 1 19
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:216.138,223.30 2 87
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:238.2,240.36 3 87
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:259.2,261.22 3 82
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:266.2,269.24 3 82
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:289.2,291.16 3 82
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:294.2,295.17 2 82
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:310.2,311.16 2 82
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:314.2,314.33 1 82
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:223.30,224.42 1 84
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:233.3,233.54 1 84
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:224.42,226.18 2 91
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:229.4,231.68 3 91
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:226.18,228.5 1 0
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:234.8,236.3 1 3
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:240.36,241.12 1 8
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:242.14,244.18 2 4
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:248.15,250.18 2 3
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:254.11,255.69 1 1
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:244.18,246.5 1 2
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:250.18,252.5 1 2
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:261.22,264.3 2 2
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:270.33,274.62 3 78
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:279.3,279.18 1 78
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:283.34,284.87 1 4
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:286.10,287.85 1 0
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:274.62,277.4 1 1
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:279.18,281.4 1 2
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:291.16,293.3 1 0
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:295.17,298.17 3 34
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:301.3,302.17 2 34
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:305.3,306.75 2 34
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:298.17,300.4 1 0
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:302.17,304.4 1 0
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:307.8,309.3 1 48
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:311.16,313.3 1 0
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:318.40,319.15 1 4
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:322.2,323.16 2 4
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:326.2,326.11 1 3
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:329.2,329.15 1 2
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:319.15,321.3 1 0
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:323.16,325.3 1 1
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:326.11,328.3 1 1
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:333.42,334.16 1 3
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:337.2,338.16 2 3
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:341.2,341.23 1 2
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:344.2,344.15 1 1
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:334.16,336.3 1 0
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:338.16,340.3 1 1
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:341.23,343.3 1 1
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:347.90,349.29 2 0
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:377.2,377.22 1 0
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:349.29,350.26 1 0
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:353.3,355.38 2 0
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:350.26,352.4 1 0
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:355.38,356.72 1 0
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:359.4,366.41 3 0
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:356.72,358.5 1 0
github.com/containers/podman/v3/libpod/network/cni/cni_conversion.go:366.41,374.5 2 0
github.com/containers/podman/v3/libpod/network/cni/cni_exec.go:47.41,49.17 2 0
github.com/containers/podman/v3/libpod/network/cni/cni_exec.go:54.2,54.21 1 0
github.com/containers/podman/v3/libpod/network/cni/cni_exec.go:57.2,57.12 1 0
github.com/containers/podman/v3/libpod/network/cni/cni_exec.go:49.17,51.3 1 0
github.com/containers/podman/v3/libpod/network/cni/cni_exec.go:51.8,51.23 1 0
github.com/containers/podman/v3/libpod/network/cni/cni_exec.go:51.23,53.3 1 0
github.com/containers/podman/v3/libpod/network/cni/cni_exec.go:54.21,56.3 1 0
github.com/containers/podman/v3/libpod/network/cni/cni_exec.go:61.122,71.16 9 688
github.com/containers/podman/v3/libpod/network/cni/cni_exec.go:74.2,74.28 1 688
github.com/containers/podman/v3/libpod/network/cni/cni_exec.go:71.16,73.3 1 0
github.com/containers/podman/v3/libpod/network/cni/cni_exec.go:78.88,83.22 3 0
github.com/containers/podman/v3/libpod/network/cni/cni_exec.go:92.2,92.14 1 0
github.com/containers/podman/v3/libpod/network/cni/cni_exec.go:83.22,84.23 1 0
github.com/containers/podman/v3/libpod/network/cni/cni_exec.go:84.23,86.4 1 0
github.com/containers/podman/v3/libpod/network/cni/cni_exec.go:86.9,88.4 1 0
github.com/containers/podman/v3/libpod/network/cni/cni_exec.go:89.8,89.63 1 0
github.com/containers/podman/v3/libpod/network/cni/cni_exec.go:89.63,91.3 1 0
github.com/containers/podman/v3/libpod/network/cni/cni_exec.go:96.77,98.2 1 688
github.com/containers/podman/v3/libpod/network/cni/cni_types.go:123.80,128.21 5 82
github.com/containers/podman/v3/libpod/network/cni/cni_types.go:131.2,131.22 1 82
github.com/containers/podman/v3/libpod/network/cni/cni_types.go:134.2,134.19 1 82
github.com/containers/podman/v3/libpod/network/cni/cni_types.go:137.2,137.10 1 82
github.com/containers/podman/v3/libpod/network/cni/cni_types.go:128.21,130.3 1 1
github.com/containers/podman/v3/libpod/network/cni/cni_types.go:131.22,133.3 1 3
github.com/containers/podman/v3/libpod/network/cni/cni_types.go:134.19,136.3 1 4
github.com/containers/podman/v3/libpod/network/cni/cni_types.go:141.119,155.54 4 78
github.com/containers/podman/v3/libpod/network/cni/cni_types.go:158.2,158.16 1 78
github.com/containers/podman/v3/libpod/network/cni/cni_types.go:155.54,157.3 1 78
github.com/containers/podman/v3/libpod/network/cni/cni_types.go:162.97,170.2 3 84
github.com/containers/podman/v3/libpod/network/cni/cni_types.go:173.113,179.23 2 91
github.com/containers/podman/v3/libpod/network/cni/cni_types.go:188.2,188.15 1 91
github.com/containers/podman/v3/libpod/network/cni/cni_types.go:191.2,191.18 1 91
github.com/containers/podman/v3/libpod/network/cni/cni_types.go:179.23,180.32 1 3
github.com/containers/podman/v3/libpod/network/cni/cni_types.go:183.3,183.30 1 3
github.com/containers/podman/v3/libpod/network/cni/cni_types.go:180.32,182.4 1 2
github.com/containers/podman/v3/libpod/network/cni/cni_types.go:183.30,185.4 1 2
github.com/containers/podman/v3/libpod/network/cni/cni_types.go:188.15,190.3 1 89
github.com/containers/podman/v3/libpod/network/cni/cni_types.go:196.43,198.2 1 91
github.com/containers/podman/v3/libpod/network/cni/cni_types.go:202.58,204.12 2 91
github.com/containers/podman/v3/libpod/network/cni/cni_types.go:207.2,208.16 2 91
github.com/containers/podman/v3/libpod/network/cni/cni_types.go:211.2,211.29 1 91
github.com/containers/podman/v3/libpod/network/cni/cni_types.go:204.12,206.3 1 6
github.com/containers/podman/v3/libpod/network/cni/cni_types.go:208.16,210.3 1 0
github.com/containers/podman/v3/libpod/network/cni/cni_types.go:216.39,224.2 4 78
github.com/containers/podman/v3/libpod/network/cni/cni_types.go:227.41,231.2 1 78
github.com/containers/podman/v3/libpod/network/cni/cni_types.go:234.37,238.2 1 78
github.com/containers/podman/v3/libpod/network/cni/cni_types.go:242.56,250.2 3 1
github.com/containers/podman/v3/libpod/network/cni/cni_types.go:253.44,254.26 1 79
github.com/containers/podman/v3/libpod/network/cni/cni_types.go:259.2,259.14 1 0
github.com/containers/podman/v3/libpod/network/cni/cni_types.go:254.26,255.65 1 79
github.com/containers/podman/v3/libpod/network/cni/cni_types.go:255.65,257.4 1 79
github.com/containers/podman/v3/libpod/network/cni/cni_types.go:263.78,268.13 2 4
github.com/containers/podman/v3/libpod/network/cni/cni_types.go:273.2,273.21 1 4
github.com/containers/podman/v3/libpod/network/cni/cni_types.go:276.2,279.50 3 4
github.com/containers/podman/v3/libpod/network/cni/cni_types.go:282.2,282.10 1 4
github.com/containers/podman/v3/libpod/network/cni/cni_types.go:268.13,270.3 1 1
github.com/containers/podman/v3/libpod/network/cni/cni_types.go:273.21,275.3 1 1
github.com/containers/podman/v3/libpod/network/cni/cni_types.go:279.50,281.3 1 1
github.com/containers/podman/v3/libpod/network/cni/cni_types.go:285.51,292.2 3 2
github.com/containers/podman/v3/libpod/network/cni/config.go:20.78,24.16 4 55
github.com/containers/podman/v3/libpod/network/cni/config.go:27.2,28.16 2 55
github.com/containers/podman/v3/libpod/network/cni/config.go:32.2,33.32 2 34
github.com/containers/podman/v3/libpod/network/cni/config.go:24.16,26.3 1 0
github.com/containers/podman/v3/libpod/network/cni/config.go:28.16,30.3 1 21
github.com/containers/podman/v3/libpod/network/cni/config.go:38.97,40.29 1 103
github.com/containers/podman/v3/libpod/network/cni/config.go:46.2,46.25 1 103
github.com/containers/podman/v3/libpod/network/cni/config.go:50.2,50.30 1 102
github.com/containers/podman/v3/libpod/network/cni/config.go:53.2,53.31 1 102
github.com/containers/podman/v3/libpod/network/cni/config.go:56.2,56.35 1 102
github.com/containers/podman/v3/libpod/network/cni/config.go:60.2,63.27 3 102
github.com/containers/podman/v3/libpod/network/cni/config.go:85.2,86.17 2 99
github.com/containers/podman/v3/libpod/network/cni/config.go:93.2,93.27 1 99
github.com/containers/podman/v3/libpod/network/cni/config.go:112.2,112.36 1 93
github.com/containers/podman/v3/libpod/network/cni/config.go:123.2,126.87 2 87
github.com/containers/podman/v3/libpod/network/cni/config.go:131.2,132.16 2 87
github.com/containers/podman/v3/libpod/network/cni/config.go:135.2,135.79 1 82
github.com/containers/podman/v3/libpod/network/cni/config.go:40.29,42.3 1 27
github.com/containers/podman/v3/libpod/network/cni/config.go:46.25,48.3 1 1
github.com/containers/podman/v3/libpod/network/cni/config.go:50.30,52.3 1 101
github.com/containers/podman/v3/libpod/network/cni/config.go:53.31,55.3 1 94
github.com/containers/podman/v3/libpod/network/cni/config.go:56.35,58.3 1 102
github.com/containers/podman/v3/libpod/network/cni/config.go:63.27,64.53 1 56
github.com/containers/podman/v3/libpod/network/cni/config.go:67.3,67.47 1 54
github.com/containers/podman/v3/libpod/network/cni/config.go:64.53,66.4 1 2
github.com/containers/podman/v3/libpod/network/cni/config.go:67.47,69.4 1 1
github.com/containers/podman/v3/libpod/network/cni/config.go:70.8,72.17 2 46
github.com/containers/podman/v3/libpod/network/cni/config.go:75.3,75.25 1 46
github.com/containers/podman/v3/libpod/network/cni/config.go:72.17,74.4 1 0
github.com/containers/podman/v3/libpod/network/cni/config.go:86.17,88.17 2 51
github.com/containers/podman/v3/libpod/network/cni/config.go:88.17,90.4 1 0
github.com/containers/podman/v3/libpod/network/cni/config.go:94.33,96.54 1 92
github.com/containers/podman/v3/libpod/network/cni/config.go:99.3,100.17 2 92
github.com/containers/podman/v3/libpod/network/cni/config.go:103.34,105.17 2 6
github.com/containers/podman/v3/libpod/network/cni/config.go:108.10,109.93 1 1
github.com/containers/podman/v3/libpod/network/cni/config.go:96.54,98.4 1 34
github.com/containers/podman/v3/libpod/network/cni/config.go:100.17,102.4 1 3
github.com/containers/podman/v3/libpod/network/cni/config.go:105.17,107.4 1 2
github.com/containers/podman/v3/libpod/network/cni/config.go:112.36,114.17 2 97
github.com/containers/podman/v3/libpod/network/cni/config.go:117.3,117.51 1 91
github.com/containers/podman/v3/libpod/network/cni/config.go:114.17,116.4 1 6
github.com/containers/podman/v3/libpod/network/cni/config.go:117.51,119.4 1 6
github.com/containers/podman/v3/libpod/network/cni/config.go:126.87,129.3 2 1
github.com/containers/podman/v3/libpod/network/cni/config.go:132.16,134.3 1 5
github.com/containers/podman/v3/libpod/network/cni/config.go:140.59,144.16 4 5
github.com/containers/podman/v3/libpod/network/cni/config.go:148.2,149.16 2 5
github.com/containers/podman/v3/libpod/network/cni/config.go:154.2,154.48 1 5
github.com/containers/podman/v3/libpod/network/cni/config.go:159.2,159.59 1 3
github.com/containers/podman/v3/libpod/network/cni/config.go:170.2,173.24 3 3
github.com/containers/podman/v3/libpod/network/cni/config.go:144.16,146.3 1 0
github.com/containers/podman/v3/libpod/network/cni/config.go:149.16,151.3 1 0
github.com/containers/podman/v3/libpod/network/cni/config.go:154.48,156.3 1 2
github.com/containers/podman/v3/libpod/network/cni/config.go:159.59,161.17 2 3
github.com/containers/podman/v3/libpod/network/cni/config.go:161.17,164.18 2 0
github.com/containers/podman/v3/libpod/network/cni/config.go:164.18,166.5 1 0
github.com/containers/podman/v3/libpod/network/cni/config.go:179.88,183.16 4 15
github.com/containers/podman/v3/libpod/network/cni/config.go:187.2,189.33 2 15
github.com/containers/podman/v3/libpod/network/cni/config.go:198.2,198.22 1 15
github.com/containers/podman/v3/libpod/network/cni/config.go:183.16,185.3 1 0
github.com/containers/podman/v3/libpod/network/cni/config.go:189.33,190.34 1 120
github.com/containers/podman/v3/libpod/network/cni/config.go:196.3,196.46 1 52
github.com/containers/podman/v3/libpod/network/cni/config.go:190.34,192.31 1 99
github.com/containers/podman/v3/libpod/network/cni/config.go:192.31,193.19 1 68
github.com/containers/podman/v3/libpod/network/cni/config.go:202.77,206.16 4 18
github.com/containers/podman/v3/libpod/network/cni/config.go:210.2,211.16 2 18
github.com/containers/podman/v3/libpod/network/cni/config.go:214.2,214.32 1 16
github.com/containers/podman/v3/libpod/network/cni/config.go:206.16,208.3 1 0
github.com/containers/podman/v3/libpod/network/cni/config.go:211.16,213.3 1 2
github.com/containers/podman/v3/libpod/network/cni/config.go:217.50,218.22 1 6
github.com/containers/podman/v3/libpod/network/cni/config.go:221.2,221.36 1 5
github.com/containers/podman/v3/libpod/network/cni/config.go:230.2,230.31 1 4
github.com/containers/podman/v3/libpod/network/cni/config.go:235.2,235.12 1 4
github.com/containers/podman/v3/libpod/network/cni/config.go:218.22,220.3 1 1
github.com/containers/podman/v3/libpod/network/cni/config.go:221.36,223.17 2 2
github.com/containers/podman/v3/libpod/network/cni/config.go:226.3,226.71 1 2
github.com/containers/podman/v3/libpod/network/cni/config.go:223.17,225.4 1 0
github.com/containers/podman/v3/libpod/network/cni/config.go:226.71,228.4 1 1
github.com/containers/podman/v3/libpod/network/cni/config.go:230.31,232.3 1 3
github.com/containers/podman/v3/libpod/network/cni/config.go:232.8,234.3 1 1
github.com/containers/podman/v3/libpod/network/cni/config.go:238.92,239.36 1 92
github.com/containers/podman/v3/libpod/network/cni/config.go:255.2,255.31 1 89
github.com/containers/podman/v3/libpod/network/cni/config.go:264.2,264.25 1 89
github.com/containers/podman/v3/libpod/network/cni/config.go:290.2,291.12 2 89
github.com/containers/podman/v3/libpod/network/cni/config.go:239.36,241.63 2 87
github.com/containers/podman/v3/libpod/network/cni/config.go:244.3,244.62 1 85
github.com/containers/podman/v3/libpod/network/cni/config.go:241.63,243.4 1 2
github.com/containers/podman/v3/libpod/network/cni/config.go:244.62,246.4 1 1
github.com/containers/podman/v3/libpod/network/cni/config.go:247.8,250.17 3 5
github.com/containers/podman/v3/libpod/network/cni/config.go:250.17,252.4 1 0
github.com/containers/podman/v3/libpod/network/cni/config.go:255.31,257.17 2 24
github.com/containers/podman/v3/libpod/network/cni/config.go:260.3,260.57 1 24
github.com/containers/podman/v3/libpod/network/cni/config.go:257.17,259.4 1 0
github.com/containers/podman/v3/libpod/network/cni/config.go:264.25,267.42 3 5
github.com/containers/podman/v3/libpod/network/cni/config.go:275.3,275.12 1 5
github.com/containers/podman/v3/libpod/network/cni/config.go:282.3,282.12 1 5
github.com/containers/podman/v3/libpod/network/cni/config.go:267.42,268.37 1 7
github.com/containers/podman/v3/libpod/network/cni/config.go:271.4,271.37 1 7
github.com/containers/podman/v3/libpod/network/cni/config.go:268.37,270.5 1 2
github.com/containers/podman/v3/libpod/network/cni/config.go:271.37,273.5 1 5
github.com/containers/podman/v3/libpod/network/cni/config.go:275.12,277.18 2 1
github.com/containers/podman/v3/libpod/network/cni/config.go:280.4,280.58 1 1
github.com/containers/podman/v3/libpod/network/cni/config.go:277.18,279.5 1 0
github.com/containers/podman/v3/libpod/network/cni/config.go:282.12,284.18 2 3
github.com/containers/podman/v3/libpod/network/cni/config.go:287.4,287.58 1 3
github.com/containers/podman/v3/libpod/network/cni/config.go:284.18,286.5 1 0
github.com/containers/podman/v3/libpod/network/cni/config.go:298.88,299.14 1 97
github.com/containers/podman/v3/libpod/network/cni/config.go:302.2,302.24 1 97
github.com/containers/podman/v3/libpod/network/cni/config.go:309.2,310.16 2 96
github.com/containers/podman/v3/libpod/network/cni/config.go:315.2,315.59 1 96
github.com/containers/podman/v3/libpod/network/cni/config.go:319.2,320.22 2 94
github.com/containers/podman/v3/libpod/network/cni/config.go:331.2,331.25 1 93
github.com/containers/podman/v3/libpod/network/cni/config.go:339.2,339.12 1 91
github.com/containers/podman/v3/libpod/network/cni/config.go:299.14,301.3 1 0
github.com/containers/podman/v3/libpod/network/cni/config.go:302.24,304.3 1 1
github.com/containers/podman/v3/libpod/network/cni/config.go:310.16,312.3 1 0
github.com/containers/podman/v3/libpod/network/cni/config.go:315.59,317.3 1 2
github.com/containers/podman/v3/libpod/network/cni/config.go:320.22,321.36 1 2
github.com/containers/podman/v3/libpod/network/cni/config.go:321.36,323.4 1 1
github.com/containers/podman/v3/libpod/network/cni/config.go:324.8,324.23 1 92
github.com/containers/podman/v3/libpod/network/cni/config.go:324.23,326.17 2 90
github.com/containers/podman/v3/libpod/network/cni/config.go:329.3,329.17 1 90
github.com/containers/podman/v3/libpod/network/cni/config.go:326.17,328.4 1 0
github.com/containers/podman/v3/libpod/network/cni/config.go:331.25,332.78 1 5
github.com/containers/podman/v3/libpod/network/cni/config.go:335.3,335.74 1 4
github.com/containers/podman/v3/libpod/network/cni/config.go:332.78,334.4 1 1
github.com/containers/podman/v3/libpod/network/cni/config.go:335.74,337.4 1 1
github.com/containers/podman/v3/libpod/network/cni/network.go:74.78,77.16 2 68
github.com/containers/podman/v3/libpod/network/cni/network.go:81.2,82.30 2 68
github.com/containers/podman/v3/libpod/network/cni/network.go:86.2,87.25 2 68
github.com/containers/podman/v3/libpod/network/cni/network.go:90.2,91.16 2 68
github.com/containers/podman/v3/libpod/network/cni/network.go:95.2,106.15 3 68
github.com/containers/podman/v3/libpod/network/cni/network.go:77.16,79.3 1 0
github.com/containers/podman/v3/libpod/network/cni/network.go:82.30,84.3 1 68
github.com/containers/podman/v3/libpod/network/cni/network.go:87.25,89.3 1 68
github.com/containers/podman/v3/libpod/network/cni/network.go:91.16,93.3 1 0
github.com/containers/podman/v3/libpod/network/cni/network.go:109.43,111.23 1 93
github.com/containers/podman/v3/libpod/network/cni/network.go:115.2,116.16 2 67
github.com/containers/podman/v3/libpod/network/cni/network.go:119.2,120.29 2 67
github.com/containers/podman/v3/libpod/network/cni/network.go:160.2,160.39 1 67
github.com/containers/podman/v3/libpod/network/cni/network.go:168.2,170.12 3 67
github.com/containers/podman/v3/libpod/network/cni/network.go:111.23,113.3 1 26
github.com/containers/podman/v3/libpod/network/cni/network.go:116.16,118.3 1 0
github.com/containers/podman/v3/libpod/network/cni/network.go:120.29,122.17 2 180
github.com/containers/podman/v3/libpod/network/cni/network.go:130.3,130.47 1 177
github.com/containers/podman/v3/libpod/network/cni/network.go:135.3,135.86 1 176
github.com/containers/podman/v3/libpod/network/cni/network.go:140.3,140.41 1 176
github.com/containers/podman/v3/libpod/network/cni/network.go:145.3,146.17 2 175
github.com/containers/podman/v3/libpod/network/cni/network.go:150.3,156.36 3 174
github.com/containers/podman/v3/libpod/network/cni/network.go:122.17,124.27 1 3
github.com/containers/podman/v3/libpod/network/cni/network.go:127.4,127.12 1 3
github.com/containers/podman/v3/libpod/network/cni/network.go:124.27,126.5 1 3
github.com/containers/podman/v3/libpod/network/cni/network.go:130.47,132.12 2 1
github.com/containers/podman/v3/libpod/network/cni/network.go:135.86,137.12 2 0
github.com/containers/podman/v3/libpod/network/cni/network.go:140.41,142.12 2 1
github.com/containers/podman/v3/libpod/network/cni/network.go:146.17,148.12 2 1
github.com/containers/podman/v3/libpod/network/cni/network.go:160.39,162.17 2 48
github.com/containers/podman/v3/libpod/network/cni/network.go:165.3,165.43 1 48
github.com/containers/podman/v3/libpod/network/cni/network.go:162.17,164.4 1 0
github.com/containers/podman/v3/libpod/network/cni/network.go:173.63,183.2 2 48
github.com/containers/podman/v3/libpod/network/cni/network.go:190.68,192.41 1 23
github.com/containers/podman/v3/libpod/network/cni/network.go:196.2,197.33 2 5
github.com/containers/podman/v3/libpod/network/cni/network.go:210.2,210.16 1 4
github.com/containers/podman/v3/libpod/network/cni/network.go:213.2,213.106 1 1
github.com/containers/podman/v3/libpod/network/cni/network.go:192.41,194.3 1 18
github.com/containers/podman/v3/libpod/network/cni/network.go:197.33,199.37 1 9
github.com/containers/podman/v3/libpod/network/cni/network.go:203.3,203.52 1 9
github.com/containers/podman/v3/libpod/network/cni/network.go:199.37,201.4 1 0
github.com/containers/podman/v3/libpod/network/cni/network.go:203.52,204.18 1 5
github.com/containers/podman/v3/libpod/network/cni/network.go:207.4,207.13 1 4
github.com/containers/podman/v3/libpod/network/cni/network.go:204.18,206.5 1 1
github.com/containers/podman/v3/libpod/network/cni/network.go:210.16,212.3 1 3
github.com/containers/podman/v3/libpod/network/cni/network.go:218.47,221.2 2 262
github.com/containers/podman/v3/libpod/network/cni/network.go:224.97,233.6 2 25
github.com/containers/podman/v3/libpod/network/cni/network.go:233.6,234.103 1 27
github.com/containers/podman/v3/libpod/network/cni/network.go:240.3,242.17 3 2
github.com/containers/podman/v3/libpod/network/cni/network.go:234.103,239.4 2 25
github.com/containers/podman/v3/libpod/network/cni/network.go:242.17,244.4 1 0
github.com/containers/podman/v3/libpod/network/cni/network.go:249.97,251.29 1 3
github.com/containers/podman/v3/libpod/network/cni/network.go:264.2,264.60 1 0
github.com/containers/podman/v3/libpod/network/cni/network.go:251.29,254.17 2 3
github.com/containers/podman/v3/libpod/network/cni/network.go:257.3,257.104 1 3
github.com/containers/podman/v3/libpod/network/cni/network.go:254.17,256.4 1 0
github.com/containers/podman/v3/libpod/network/cni/network.go:257.104,262.4 2 3
github.com/containers/podman/v3/libpod/network/cni/network.go:269.61,272.33 2 51
github.com/containers/podman/v3/libpod/network/cni/network.go:278.2,279.16 2 51
github.com/containers/podman/v3/libpod/network/cni/network.go:282.2,282.45 1 51
github.com/containers/podman/v3/libpod/network/cni/network.go:272.33,273.40 1 64
github.com/containers/podman/v3/libpod/network/cni/network.go:273.40,275.4 1 65
github.com/containers/podman/v3/libpod/network/cni/network.go:279.16,281.3 1 0
github.com/containers/podman/v3/libpod/network/cni/network.go:287.58,291.16 4 51
github.com/containers/podman/v3/libpod/network/cni/network.go:294.2,300.31 5 51
github.com/containers/podman/v3/libpod/network/cni/network.go:307.2,307.78 1 0
github.com/containers/podman/v3/libpod/network/cni/network.go:291.16,293.3 1 0
github.com/containers/podman/v3/libpod/network/cni/network.go:300.31,302.48 2 57
github.com/containers/podman/v3/libpod/network/cni/network.go:302.48,305.4 2 51
github.com/containers/podman/v3/libpod/network/cni/network.go:312.53,314.33 2 51
github.com/containers/podman/v3/libpod/network/cni/network.go:317.2,317.14 1 51
github.com/containers/podman/v3/libpod/network/cni/network.go:314.33,316.3 1 64
github.com/containers/podman/v3/libpod/network/cni/network.go:322.57,324.33 2 138
github.com/containers/podman/v3/libpod/network/cni/network.go:329.2,329.14 1 138
github.com/containers/podman/v3/libpod/network/cni/network.go:324.33,325.56 1 115
github.com/containers/podman/v3/libpod/network/cni/network.go:325.56,327.4 1 111
github.com/containers/podman/v3/libpod/network/cni/run.go:25.116,29.16 4 0
github.com/containers/podman/v3/libpod/network/cni/run.go:33.2,33.25 1 0
github.com/containers/podman/v3/libpod/network/cni/run.go:36.2,36.31 1 0
github.com/containers/podman/v3/libpod/network/cni/run.go:39.2,39.32 1 0
github.com/containers/podman/v3/libpod/network/cni/run.go:42.2,42.46 1 0
github.com/containers/podman/v3/libpod/network/cni/run.go:54.2,54.63 1 0
github.com/containers/podman/v3/libpod/network/cni/run.go:61.2,61.16 1 0
github.com/containers/podman/v3/libpod/network/cni/run.go:65.2,69.15 4 0
github.com/containers/podman/v3/libpod/network/cni/run.go:80.2,81.16 2 0
github.com/containers/podman/v3/libpod/network/cni/run.go:85.2,86.46 2 0
github.com/containers/podman/v3/libpod/network/cni/run.go:123.2,123.21 1 0
github.com/containers/podman/v3/libpod/network/cni/run.go:29.16,31.3 1 0
github.com/containers/podman/v3/libpod/network/cni/run.go:33.25,35.3 1 0
github.com/containers/podman/v3/libpod/network/cni/run.go:36.31,38.3 1 0
github.com/containers/podman/v3/libpod/network/cni/run.go:39.32,41.3 1 0
github.com/containers/podman/v3/libpod/network/cni/run.go:42.46,44.21 2 0
github.com/containers/podman/v3/libpod/network/cni/run.go:47.3,48.17 2 0
github.com/containers/podman/v3/libpod/network/cni/run.go:44.21,46.4 1 0
github.com/containers/podman/v3/libpod/network/cni/run.go:48.17,50.4 1 0
github.com/containers/podman/v3/libpod/network/cni/run.go:54.63,56.17 2 0
github.com/containers/podman/v3/libpod/network/cni/run.go:59.3,59.13 1 0
github.com/containers/podman/v3/libpod/network/cni/run.go:56.17,58.4 1 0
github.com/containers/podman/v3/libpod/network/cni/run.go:61.16,63.3 1 0
github.com/containers/podman/v3/libpod/network/cni/run.go:69.15,70.20 1 0
github.com/containers/podman/v3/libpod/network/cni/run.go:70.20,71.38 1 0
github.com/containers/podman/v3/libpod/network/cni/run.go:71.38,73.19 2 0
github.com/containers/podman/v3/libpod/network/cni/run.go:73.19,75.6 1 0
github.com/containers/podman/v3/libpod/network/cni/run.go:81.16,83.3 1 0
github.com/containers/podman/v3/libpod/network/cni/run.go:86.46,92.91 3 0
github.com/containers/podman/v3/libpod/network/cni/run.go:101.3,106.20 4 0
github.com/containers/podman/v3/libpod/network/cni/run.go:110.3,112.20 3 0
github.com/containers/podman/v3/libpod/network/cni/run.go:115.3,118.20 4 0
github.com/containers/podman/v3/libpod/network/cni/run.go:121.3,121.25 1 0
github.com/containers/podman/v3/libpod/network/cni/run.go:92.91,96.21 4 0
github.com/containers/podman/v3/libpod/network/cni/run.go:96.21,98.5 1 0
github.com/containers/podman/v3/libpod/network/cni/run.go:106.20,108.4 1 0
github.com/containers/podman/v3/libpod/network/cni/run.go:112.20,114.4 1 0
github.com/containers/podman/v3/libpod/network/cni/run.go:118.20,120.4 1 0
github.com/containers/podman/v3/libpod/network/cni/run.go:128.78,131.55 3 0
github.com/containers/podman/v3/libpod/network/cni/run.go:138.2,142.35 4 0
github.com/containers/podman/v3/libpod/network/cni/run.go:172.2,173.20 2 0
github.com/containers/podman/v3/libpod/network/cni/run.go:131.55,133.16 2 0
github.com/containers/podman/v3/libpod/network/cni/run.go:136.3,136.40 1 0
github.com/containers/podman/v3/libpod/network/cni/run.go:133.16,135.4 1 0
github.com/containers/podman/v3/libpod/network/cni/run.go:142.35,143.26 1 0
github.com/containers/podman/v3/libpod/network/cni/run.go:147.3,147.49 1 0
github.com/containers/podman/v3/libpod/network/cni/run.go:150.3,152.9 3 0
github.com/containers/podman/v3/libpod/network/cni/run.go:143.26,145.12 1 0
github.com/containers/podman/v3/libpod/network/cni/run.go:147.49,149.4 1 0
github.com/containers/podman/v3/libpod/network/cni/run.go:152.9,158.4 2 0
github.com/containers/podman/v3/libpod/network/cni/run.go:158.9,160.18 2 0
github.com/containers/podman/v3/libpod/network/cni/run.go:163.4,169.5 1 0
github.com/containers/podman/v3/libpod/network/cni/run.go:160.18,162.5 1 0
github.com/containers/podman/v3/libpod/network/cni/run.go:177.86,178.33 1 0
github.com/containers/podman/v3/libpod/network/cni/run.go:181.1,182.39 1 0
github.com/containers/podman/v3/libpod/network/cni/run.go:190.2,190.63 1 0
github.com/containers/podman/v3/libpod/network/cni/run.go:193.2,193.12 1 0
github.com/containers/podman/v3/libpod/network/cni/run.go:178.33,180.3 1 0
github.com/containers/podman/v3/libpod/network/cni/run.go:182.39,183.47 1 0
github.com/containers/podman/v3/libpod/network/cni/run.go:188.3,188.118 1 0
github.com/containers/podman/v3/libpod/network/cni/run.go:183.47,184.29 1 0
github.com/containers/podman/v3/libpod/network/cni/run.go:184.29,185.19 1 0
github.com/containers/podman/v3/libpod/network/cni/run.go:190.63,192.3 1 0
github.com/containers/podman/v3/libpod/network/cni/run.go:196.141,213.68 2 0
github.com/containers/podman/v3/libpod/network/cni/run.go:220.2,220.29 1 0
github.com/containers/podman/v3/libpod/network/cni/run.go:224.2,224.30 1 0
github.com/containers/podman/v3/libpod/network/cni/run.go:235.2,235.27 1 0
github.com/containers/podman/v3/libpod/network/cni/run.go:242.2,242.20 1 0
github.com/containers/podman/v3/libpod/network/cni/run.go:246.2,246.11 1 0
github.com/containers/podman/v3/libpod/network/cni/run.go:213.68,214.66 1 0
github.com/containers/podman/v3/libpod/network/cni/run.go:214.66,216.4 1 0
github.com/containers/podman/v3/libpod/network/cni/run.go:220.29,222.3 1 0
github.com/containers/podman/v3/libpod/network/cni/run.go:224.30,228.3 1 0
github.com/containers/podman/v3/libpod/network/cni/run.go:228.8,228.36 1 0
github.com/containers/podman/v3/libpod/network/cni/run.go:228.36,232.3 1 0
github.com/containers/podman/v3/libpod/network/cni/run.go:235.27,239.3 1 0
github.com/containers/podman/v3/libpod/network/cni/run.go:242.20,244.3 1 0
github.com/containers/podman/v3/libpod/network/cni/run.go:250.90,254.16 4 0
github.com/containers/podman/v3/libpod/network/cni/run.go:257.2,257.43 1 0
github.com/containers/podman/v3/libpod/network/cni/run.go:254.16,256.3 1 0
github.com/containers/podman/v3/libpod/network/cni/run.go:260.90,265.16 2 0
github.com/containers/podman/v3/libpod/network/cni/run.go:269.2,270.46 2 0
github.com/containers/podman/v3/libpod/network/cni/run.go:291.2,291.30 1 0
github.com/containers/podman/v3/libpod/network/cni/run.go:265.16,267.3 1 0
github.com/containers/podman/v3/libpod/network/cni/run.go:270.46,274.17 3 0
github.com/containers/podman/v3/libpod/network/cni/run.go:286.3,287.17 2 0
github.com/containers/podman/v3/libpod/network/cni/run.go:274.17,276.4 1 0
github.com/containers/podman/v3/libpod/network/cni/run.go:276.9,279.22 3 0
github.com/containers/podman/v3/libpod/network/cni/run.go:283.4,283.32 1 0
github.com/containers/podman/v3/libpod/network/cni/run.go:279.22,281.13 2 0
github.com/containers/podman/v3/libpod/network/cni/run.go:287.17,289.4 1 0
github.com/containers/podman/v3/libpod/network/cni/run.go:294.149,299.16 3 0
github.com/containers/podman/v3/libpod/network/cni/run.go:305.2,306.16 2 0
github.com/containers/podman/v3/libpod/network/cni/run.go:309.2,309.29 1 0
github.com/containers/podman/v3/libpod/network/cni/run.go:299.16,301.3 1 0
github.com/containers/podman/v3/libpod/network/cni/run.go:301.8,301.29 1 0
github.com/containers/podman/v3/libpod/network/cni/run.go:301.29,303.3 1 0
github.com/containers/podman/v3/libpod/network/cni/run.go:306.16,308.3 1 0

View File

@ -1,222 +0,0 @@
package defaultnet
import (
"bytes"
"encoding/json"
"fmt"
"io/ioutil"
"net"
"os"
"path/filepath"
"regexp"
"text/template"
"github.com/pkg/errors"
"github.com/sirupsen/logrus"
)
// TODO: A smarter implementation would make sure cni-podman0 was unused before
// making the default, and adjust if necessary
const networkTemplate = `{
"cniVersion": "0.4.0",
"name": "{{{{.Name}}}}",
"plugins": [
{
"type": "bridge",
"bridge": "cni-podman0",
"isGateway": true,
"ipMasq": true,
"hairpinMode": true,
"ipam": {
"type": "host-local",
"routes": [{ "dst": "0.0.0.0/0" }],
"ranges": [
[
{
"subnet": "{{{{.Subnet}}}}",
"gateway": "{{{{.Gateway}}}}"
}
]
]
}
},
{{{{- if (eq .Machine true) }}}}
{
"type": "podman-machine",
"capabilities": {
"portMappings": true
}
},
{{{{- end}}}}
{
"type": "portmap",
"capabilities": {
"portMappings": true
}
},
{
"type": "firewall"
},
{
"type": "tuning"
}
]
}
`
var (
// Borrowed from Podman, modified to remove dashes and periods.
nameRegex = regexp.MustCompile("^[a-zA-Z0-9][a-zA-Z0-9_]*$")
)
// Used to pass info into the template engine
type networkInfo struct {
Name string
Subnet string
Gateway string
Machine bool
}
// The most trivial definition of a CNI network possible for our use here.
// We need the name, and nothing else.
type network struct {
Name string `json:"name"`
}
// Create makes the CNI default network, if necessary.
// Accepts the name and subnet of the network to create (a standard template
// will be used, with these values plugged in), the configuration directory
// where CNI configs are stored (to verify if a named configuration already
// exists), an exists directory (where a sentinel file will be stored, to ensure
// the network is only made once), and an isMachine bool (to determine whether
// the machine block will be added to the config).
// Create first checks if a default network has already been created via the
// presence of a sentinel file. If it does exist, it returns immediately without
// error.
// It next checks if a CNI network with the given name already exists. In that
// case, it creates the sentinel file and returns without error.
// If neither of these are true, the default network is created.
func Create(name, subnet, configDir, existsDir string, isMachine bool) error {
// TODO: Should probably regex name to make sure it's valid.
if name == "" || subnet == "" || configDir == "" || existsDir == "" {
return errors.Errorf("must provide values for all arguments to MakeDefaultNetwork")
}
if !nameRegex.MatchString(name) {
return errors.Errorf("invalid default network name %s - letters, numbers, and underscores only", name)
}
sentinelFile := filepath.Join(existsDir, "defaultCNINetExists")
// Check if sentinel file exists, return immediately if it does.
if _, err := os.Stat(sentinelFile); err == nil {
return nil
}
// Create the sentinel file if it doesn't exist, so subsequent checks
// don't need to go further.
file, err := os.Create(sentinelFile)
if err != nil {
return err
}
file.Close()
// We may need to make the config dir.
if err := os.MkdirAll(configDir, 0755); err != nil && !os.IsExist(err) {
return errors.Wrapf(err, "error creating CNI configuration directory")
}
// Check all networks in the CNI conflist.
files, err := ioutil.ReadDir(configDir)
if err != nil {
return errors.Wrapf(err, "error reading CNI configuration directory")
}
if len(files) > 0 {
configPaths := make([]string, 0, len(files))
for _, path := range files {
if !path.IsDir() && filepath.Ext(path.Name()) == ".conflist" {
configPaths = append(configPaths, filepath.Join(configDir, path.Name()))
}
}
for _, config := range configPaths {
configName, err := getConfigName(config)
if err != nil {
logrus.Errorf("Error reading CNI configuration file: %v", err)
continue
}
if configName == name {
return nil
}
}
}
// We need to make the config.
// Get subnet and gateway.
_, ipNet, err := net.ParseCIDR(subnet)
if err != nil {
return errors.Wrapf(err, "default network subnet %s is invalid", subnet)
}
ones, bits := ipNet.Mask.Size()
if ones == bits {
return errors.Wrapf(err, "default network subnet %s is to small", subnet)
}
gateway := make(net.IP, len(ipNet.IP))
// copy the subnet ip to the gateway so we can modify it
copy(gateway, ipNet.IP)
// the default gateway should be the first ip in the subnet
gateway[len(gateway)-1]++
netInfo := new(networkInfo)
netInfo.Name = name
netInfo.Gateway = gateway.String()
netInfo.Subnet = ipNet.String()
netInfo.Machine = isMachine
templ, err := template.New("network_template").Delims("{{{{", "}}}}").Parse(networkTemplate)
if err != nil {
return errors.Wrapf(err, "error compiling template for default network")
}
var output bytes.Buffer
if err := templ.Execute(&output, netInfo); err != nil {
return errors.Wrapf(err, "error executing template for default network")
}
// Next, we need to place the config on disk.
// Loop through possible indexes, with a limit of 100 attempts.
created := false
for i := 87; i < 187; i++ {
configFile, err := os.OpenFile(filepath.Join(configDir, fmt.Sprintf("%d-%s.conflist", i, name)), os.O_CREATE|os.O_EXCL|os.O_WRONLY, 0644)
if err != nil {
logrus.Infof("Attempt to create default CNI network config file failed: %v", err)
continue
}
defer configFile.Close()
created = true
// Success - file is open. Write our buffer to it.
if _, err := configFile.Write(output.Bytes()); err != nil {
return errors.Wrapf(err, "error writing default CNI config to file")
}
break
}
if !created {
return errors.Errorf("no available default network configuration file was found")
}
return nil
}
// Get the name of the configuration contained in a given conflist file. Accepts
// the full path of a .conflist CNI configuration.
func getConfigName(file string) (string, error) {
contents, err := ioutil.ReadFile(file)
if err != nil {
return "", err
}
config := new(network)
if err := json.Unmarshal(contents, config); err != nil {
return "", errors.Wrapf(err, "error decoding CNI configuration %s", filepath.Base(file))
}
return config.Name, nil
}