[MaaS] Force Maas to use a fixed ip packet size 97/51397/10
authorCharalampos Kominos <charalampos.kominos@enea.com>
Wed, 31 Jan 2018 12:59:48 +0000 (13:59 +0100)
committerAlexandru Avadanii <Alexandru.Avadanii@enea.com>
Thu, 22 Feb 2018 19:31:59 +0000 (20:31 +0100)
Maas uses a tftp library during commisioning which in turn uses another
library which tries to find the best packet size to use. For some reason
during commisioning the library uses smaller sizes than the
infrastructure can handle and therefore takes a lot of time to deploy.

JIRA: ARMBAND-351

Change-Id: I9b3083a059c04b118e8b7f0f2723af67d96d2aad
Signed-off-by: Charalampos Kominos <charalampos.kominos@enea.com>
mcp/patches/0010-maas-region-allow-timeout-override.patch

index e3e15a8..c6f9e3a 100644 (file)
@@ -31,6 +31,11 @@ reserved range, but instead DHCP will assign them *inside* the range.
 One alternative would be to handle this via API calls, for each
 node's PXE physical interface, but that overcomplicates things.
 
+3. MaaS blocksize: For some reason the python library behind tftp forces ip
+blocksize to be 1008. We can force it to be 1464 and gain some performance due
+to MTU beeing 1500 (i.e. allow bigger packets).
+
+
 JIRA: FUEL-316
 
 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
@@ -39,7 +44,7 @@ Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
 diff --git a/maas/region.sls b/maas/region.sls
 --- a/maas/region.sls
 +++ b/maas/region.sls
-@@ -19,6 +19,36 @@
+@@ -19,6 +19,46 @@
    - require:
      - pkg: maas_region_packages
 
@@ -63,6 +68,16 @@ diff --git a/maas/region.sls b/maas/region.sls
 +    - require_in:
 +      - service: maas_region_services
 +
++maas_ip_blksize_force:
++  file.replace:
++    - name: "/usr/lib/python3/dist-packages/tftp/bootstrap.py"
++    - pattern: 'int_blksize = min\(\(int_blksize, MAX_BLOCK_SIZE\)\)'
++    - repl: 'int_blksize = 1464'
++    - require:
++      - pkg: maas_region_packages
++    - require_in:
++      - service: maas_region_services
++
 +maas_interface_default_mode_dhcp:
 +  file.replace:
 +    - name: "/usr/lib/python3/dist-packages/maasserver/models/node.py"