This repository was archived by the owner on Oct 31, 2019. It is now read-only.
  
  
  
  
    
    
    
      
    
  
  
    
File tree Expand file tree Collapse file tree 8 files changed +55
-2
lines changed Expand file tree Collapse file tree 8 files changed +55
-2
lines changed Original file line number Diff line number Diff line change @@ -79,6 +79,12 @@ write_files:
7979    content : | 
8080      ${kubelet_service_content} 
8181
82+    - path : " /root/services/ethtool-disable-offload@.service" 
83+     permissions : " 0600" 
84+     encoding : " gzip+base64" 
85+     content : | 
86+       ${ethtool_service_content} 
87+ 
8288#  Kube certs, tokens
8389  - path : " /etc/kubernetes/ssl/ca.pem" 
8490    permissions : " 0600" 
Original file line number Diff line number Diff line change @@ -57,6 +57,10 @@ data "template_file" "kubelet-service" {
5757  }
5858}
5959
60+ data  "template_file"  "ethtool-offload-service"  {
61+   template  =  " ${ file (" ${ path . module } /scripts/ethtool-disable-offload.service"  )} " 
62+ }
63+ 
6064data  "template_file"  "kube-controller-manager"  {
6165  template  =  " ${ file (" ${ path . module } /manifests/kube-controller-manager.yaml"  )} " 
6266
@@ -132,6 +136,7 @@ data "template_file" "kube_master_cloud_init_file" {
132136    master_kubeconfig_template_content       =  " ${ base64gzip (data. template_file . master-kubeconfig . rendered )} " 
133137    kube_scheduler_template_content          =  " ${ base64gzip (data. template_file . kube-scheduler . rendered )} " 
134138    kubelet_service_content                  =  " ${ base64gzip (data. template_file . kubelet-service . rendered )} " 
139+     ethtool_service_content                  =  " ${ base64gzip (data. template_file . ethtool-offload-service . rendered )} " 
135140    ca-pem-content                           =  " ${ base64gzip (var. root_ca_pem )} " 
136141    ca-key-content                           =  " ${ base64gzip (var. root_ca_key )} " 
137142    api-server-key-content                   =  " ${ base64gzip (var. api_server_private_key_pem )} " 
Original file line number Diff line number Diff line change 1+ [Unit] 
2+ Description =ethtool-disable-offload
3+ Requires =network.target
4+ After =network.target
5+ 
6+ [Service] 
7+ ExecStart =/sbin/ethtool -K %i tx off
8+ Type =oneshot
9+ 
10+ [Install] 
11+ WantedBy =multi-user.target
Original file line number Diff line number Diff line change 3232BROADCOM_DRIVER=$( lsmod |  grep bnxt_en |  awk ' {print $1}' ) 
3333if  [[ -n  " $$ {BROADCOM_DRIVER}"   ]];  then 
3434   echo  " Disabling hardware TX checksum offloading" 
35-    ethtool --offload $( ip -o -4 route show to default |  awk ' {print $5}' )   tx off
35+    # ethtool --offload $(ip -o -4 route show to default | awk '{print $5}') tx off
36+    mv /root/services/ethtool-disable-offload@.service /etc/systemd/system
37+    systemctl daemon-reload
38+    DEV=$( ip -o -4 route show to default |  awk ' {print $5}' ) 
39+    systemctl enable  ethtool-disable-offload@$DEV 
40+    systemctl start ethtool-disable-offload@$DEV 
3641fi 
3742
3843#  Download etcdctl client
Original file line number Diff line number Diff line change @@ -36,6 +36,12 @@ write_files:
3636    content : | 
3737      ${kubelet_service_content} 
3838
39+    - path : " /root/services/ethtool-disable-offload@.service" 
40+     permissions : " 0600" 
41+     encoding : " gzip+base64" 
42+     content : | 
43+       ${ethtool_service_content} 
44+ 
3945#  Kube certs
4046  - path : " /etc/kubernetes/ssl/ca.pem" 
4147    permissions : " 0600" 
Original file line number Diff line number Diff line change @@ -66,6 +66,10 @@ data "template_file" "kubelet-service" {
6666  }
6767}
6868
69+ data  "template_file"  "ethtool-offload-service"  {
70+   template  =  " ${ file (" ${ path . module } /scripts/ethtool-disable-offload.service"  )} " 
71+ }
72+ 
6973data  "template_file"  "kube_worker_cloud_init_file"  {
7074  template  =  " ${ file (" ${ path . module } /cloud_init/bootstrap.template.yaml"  )} " 
7175
@@ -76,6 +80,7 @@ data "template_file" "kube_worker_cloud_init_file" {
7680    kube_proxy_template_content        =  " ${ base64gzip (data. template_file . kube-proxy . rendered )} " 
7781    worker_kubeconfig_template_content =  " ${ base64gzip (data. template_file . worker-kubeconfig . rendered )} " 
7882    kubelet_service_content            =  " ${ base64gzip (data. template_file . kubelet-service . rendered )} " 
83+     ethtool_service_content            =  " ${ base64gzip (data. template_file . ethtool-offload-service . rendered )} " 
7984    ca-pem-content                     =  " ${ base64gzip (var. root_ca_pem )} " 
8085    ca-key-content                     =  " ${ base64gzip (var. root_ca_key )} " 
8186    api-server-key-content             =  " ${ base64gzip (var. api_server_private_key_pem )} " 
Original file line number Diff line number Diff line change 1+ [Unit] 
2+ Description =ethtool-disable-offload
3+ Requires =network.target
4+ After =network.target
5+ 
6+ [Service] 
7+ ExecStart =/sbin/ethtool -K %i tx off
8+ Type =oneshot
9+ 
10+ [Install] 
11+ WantedBy =multi-user.target
Original file line number Diff line number Diff line change 3333BROADCOM_DRIVER=$( lsmod |  grep bnxt_en |  awk ' {print $1}' ) 
3434if  [[ -n  " $$ {BROADCOM_DRIVER}"   ]];  then 
3535   echo  " Disabling hardware TX checksum offloading" 
36-    ethtool --offload $( ip -o -4 route show to default |  awk ' {print $5}' )   tx off
36+    mv /root/services/ethtool-disable-offload@.service /etc/systemd/system
37+    systemctl daemon-reload
38+    DEV=$( ip -o -4 route show to default |  awk ' {print $5}' ) 
39+    systemctl enable  ethtool-disable-offload@$DEV 
40+    systemctl start ethtool-disable-offload@$DEV 
3741fi 
3842
3943# # Setup NVMe drives and mount at /var/lib/docker
    
 
   
 
     
   
   
          
     
  
    
     
 
    
      
     
 
     
    You can’t perform that action at this time.
  
 
    
  
     
    
      
        
     
 
       
      
     
   
 
    
    
  
 
  
 
     
    
0 commit comments