lp:~paelzer/curtin/fix-bug-1513085-partition-alignment-v3

Created by Christian Ehrhardt  and last modified
Get this branch:
bzr branch lp:~paelzer/curtin/fix-bug-1513085-partition-alignment-v3
Only Christian Ehrhardt  can upload to this branch. If you are Christian Ehrhardt  please log in for upload directions.

Branch merges

Related bugs

Related blueprints

Branch information

Owner:
Christian Ehrhardt 
Project:
curtin
Status:
Merged

Recent revisions

293. By Christian Ehrhardt 

First partitions start at 2048 by default (which is parted default as well)
As I pointed out we have to understand that when currently creating a 1024
byte partition (small size makes no sense but good for the example) we do
2048 - 2048 + (1024/512)
2048 - 2050
That means we span 2048, 2049 2050 => that is 1536 byte

Also logical/extended partitions did wrong sector calculations by adding the
size of the extended (2 sectors) to the start - that only accidentially worked
most of the time.
Extended and Logical can't share the start sector and subsequent logical
partitions can't go head-to-head with former logical partitions.
While all that goes on a human would assume all that just works.
Also one will assume that e.g. a 5G extended partition can hold a 3G and a 2G
logical which so far it couldn't for all these reasons.

All that also broke alignment.

This patch now fixes:
- end sector calculation so that partition size matches what was requested
- proper size of extended partition size calculation to be able to hold as much
  as it was specified in the yaml
- proper logical partition start calculation and realignment
- prepare curtin for the appearance of 4K logical sector size disk.
- by that implicitly fixing our alignment issues as long as sizes are aligned
  which they usually are as e.g. MAAS exposes only 1MB units
- extends one of the existing tests to cover 2G+3G logical in 5G extended

292. By Ryan Harper

Set bcache cache_mode if present in storage config

Apply the cache_mode value to created bcache device
Introduce a vmtest to validate the setting.

291. By Scott Moser

extract: specify 'z' to tar extract again

This reverts revno 282:
  extract: do not specify 'z' to tar extract

  tar will automatically do the right thing for compression
  it knows about. Removing the 'z' here makes us able to install
  a .tar.xz file too.

290. By Scott Moser

A collection of fixes and extensions to vmtests

- rework configuration and checks of the complex vmtest "allindata"
- added new regex based file content verification
- added testcase class variable "extra_kern_args" to be able to
  influence the kernel parameters of the installed system
- fix the handling of KEEP_VMTEST_DATA
- fix an issue with -curses on the backlevel qemu in trusty
  by passing '-vga std' to avoid getting cirrus card and framebuffer.
- enhancing README-vmtest.txt with my lessons learned
- provide an option to set the name parameter at mdadm create
- check for vnc port collisions and automatically assign alternatives

289. By Scott Moser

apt-get update: do not download translation files and source files

getting translation files and source index files is simply waste in
an installer environment.

Additionally, Translation files are everybody's favorite source of
Hash Sum Mismatch errors.

288. By Scott Moser

features: mention 'system-upgrade' and 'system-install' in feature list

287. By Scott Moser

tests: fix indentation/location of get_apt_proxy

get_apt_proxy's location caused test_fstab and test_dname to
not be part of the VMBaseClass.

286. By Scott Moser

fix pep8 on wily

wily versions of pep8 (1.6.2) complains about
  W503 line break before binary operator
But tox versions (1.5.7) do not. That causes package build break.
I'm not sure what the long term solution here should be.

One option would be to pin them in requirements to a single version.

285. By Scott Moser

system_install: fix log message copied from system upgrade

make the system install warning mention system install rather than system
upgrade.

284. By Scott Moser

add system-install sub command.

This adds the ability for user to do:
  curtin system-install pastebinit lftp

And for curtin to do that in a way that does not prompt.
The intent would be to support yum or other target specific package
manager also.

Branch metadata

Branch format:
Branch format 7
Repository format:
Bazaar repository format 2a (needs bzr 1.16 or later)
Stacked on:
lp:~curtin-dev/curtin/trunk
This branch contains Public information 
Everyone can see this information.