diff --git a/common/.gitignore b/common/.gitignore index 14cf7a93af..bae667519f 100644 --- a/common/.gitignore +++ b/common/.gitignore @@ -13,3 +13,4 @@ contrib/spec/podman.spec *~ build ./generate +*.coverprofile diff --git a/common/libnetwork/cni/cni.coverprofile b/common/libnetwork/cni/cni.coverprofile deleted file mode 100644 index d302f441c7..0000000000 --- a/common/libnetwork/cni/cni.coverprofile +++ /dev/null @@ -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 diff --git a/common/pkg/defaultnet/default_network.go b/common/pkg/defaultnet/default_network.go deleted file mode 100644 index 9b32241d65..0000000000 --- a/common/pkg/defaultnet/default_network.go +++ /dev/null @@ -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 -}