summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-09-10Revert "d/control: update Depends for new probert package names"ubuntu/discoDaniel Watkins
This reverts commit 43c0a1474c4d32cebf0e940e555a7ac6851dbe9c. (I incorrectly didn't fix the Depends during the preceding merge, but its existence is still sufficient for this revert to not cause merge conflicts into master.)
2019-09-10Merge branch 'fix_merge_conflicts' into ubuntu/discoDaniel Watkins
This is required because master and the ubuntu/* branches now conflict on merge, due to different Depends lines for probert. This commit being present in master and in each of the packaging branches gives git enough information to not conflict.
2019-09-10d/control: update Depends for new probert package namesDimitri John Ledkov
Matching commit to curtin for https://github.com/CanonicalLtd/probert/pull/73
2019-09-09d/control: update Depends for new probert package namesDimitri John Ledkov
Matching commit to curtin for https://github.com/CanonicalLtd/probert/pull/73
2019-06-12update changelogubuntu/19.1-7-g37a7a0f4-0ubuntu1_19.04.1Ryan Harper
2019-06-12d/control: drop probert dependency for DiscoRyan Harper
Probert is not in main, cannot depend on probert LP: #1831757
2019-06-05releasing curtin version 19.1-7-g37a7a0f4-0ubuntu1~19.04.1Ryan Harper
2019-06-05update changelog (New upstream snapshot 19.1-7-g37a7a0f4).Ryan Harper
2019-06-05merge from upstream at 19.1-7-g37a7a0f4Ryan Harper
2019-06-05vmtests: determine block name via dname when verifying volume groupsRyan Harper
The LVM tests verify `pvs` output to check that a VG is composed of the specified devices from the storage config. The current test expected /dev/sda, /dev/sdb for certain VGs, however, sda/sdb kernel names are not stable and sometimes we would fail to verify when the order was swapped. Instead we now look up the dname, which is stable to determine the kname of the specific disk at runtime and use that to verify the VG is composed of the correct devices.
2019-06-05vmtest: add Centos66/Centos70 FromBionic release and re-add testsRyan Harper
Newer MAAS will use Bionic to deploy Centos and curtin until now did not test this path. Critically, Centos66 has issues with ext4 features that are enabled by default in Bionic and newer, namely '64bit' and 'metadata_csum'. These features break centos66 grub probing which results in failed deployment, LP: #1775424. Add additional Centos66/70 tests to verify installing from Bionic is successful. For Centos66, we test the known workaround which is to use 'ext3' as the root filesystem, and we introduce a test-case which recreates the failure (test_simple.py:Centos66BionicTestSimple) but leave it disabled by default.
2019-06-04block-discover: add cli/API for exporting existing storage to configRyan Harper
Curtin can now probe an existing system for block devices and convert that information into a storage_config yaml document representing the devices, partitions, filesystems, etc as they would be if created from scratch. This cli and API depend upon probert for discovery and curtin.storage_config.validate_config to generate valid configs.
2019-05-30vmtest: refactor test_network code for EoanRyan Harper
Eoan images no longer contain 'route' and 'route6' from 'net-tools' package. If the output is not present, rely on 'ip route show' and 'ip 6 route show' output instead.
2019-05-29curthoooks: disable daemons while reconfiguring mdadmMichael Hudson-Doyle
By switching from subp(..., target=...) to ChrootableTarget. LP: #1829325.
2019-05-28mdadm: fix install to existing raidMichael Hudson-Doyle
Just change the export=False to export=True in the call to mdadm_examine in md_check_array_membership. LP: #1830157
2019-05-27apt_proxy env var set but empty => do not setup any proxyParide Legovini
Sample use case: apt-cacher-ng is setup as the apt proxy on the host system (via Acquire::HTTP::Proxy), but it is not wanted and not functional in the guest systems used for the vmtests.
2019-05-22release 19.119.1Daniel Watkins
2019-05-17vmtest: add missing skip_by_date on Eoan test_network_mtuRyan Harper
2019-05-17vmtest: remove skip_by_date on Disco Allindata testRyan Harper
This test now passes so remove the skip_by_date decorator.
2019-05-16block: support multipath devices in lookup and partition_knameRyan Harper
- Add support for detecting multipath devices and members - Add handling to clear-holders for removing multipath partitions - Update block.lookup_disk to return multipath member devices - Add support to "hide" a multipath dm device while operating on a single path member. - vmtest: update xkvm to pass serial/wwn correctly for multipath udev rules - vmtest: update basic_scsi configuration and drop unused extra disk. LP: #1813228
2019-05-10grub: add grub config to control os_prober,terminal settings in targetRyan Harper
Curtin by default writes out some overrides to the default grub behavior that is desirable for a MAAS installed machine. Curtin now has two other use-cases where these defaults are not the best choice. When installing a pet-system, it is far more likely that the user has additional operating systems which they would prefer to have grub discover and they may have different terminal settings which make more sense than serial console. - Add 'probe_additional_os' boolean, defaulting to False, which retains the default behavior of curtin for MAAS. - Add 'terminal' key which will allows users to specify what terminal value for grub to use.
2019-05-09vmtest: add eoan testsParide Legovini
2019-05-09vmtest: add dependency on python3-jsonschemaParide Legovini
python3-jsonschema is needed to perform the schema-validate stage of the vmtest target. This branch makes vmtest-system-setup install the package among the other vmtest dependencies.
2019-05-09Pylint compatibility with Python 3.7Paride Legovini
* tox.ini: depend on a newer version of Pylint * Don't trigger E1101 for dynamically generated members (DISTROS.*) LP: #1828229
2019-05-08vmtest: disable disco multipath testRyan Harper
Disco images now contain multipath packages and daemon enabled. This affects how partitions are found when the underlying disk is mpath enabled. This will be addressed in another branch, for now disable the tests affected until it lands.
2019-05-08vmtests: bump network mtu tests out a bitRyan Harper
Need a bit more time to verify what should and won't work; particular interest in whether setting a higher ipv6 mtu will force device mtu to the same level or not.
2019-05-07Fix up yaml.load warningsRyan Harper
Replace most calls with curtin.config.load_config. For a few cases which parse strings, use yaml.safe_load.
2019-05-06vmtest: disable trusty, it's dead jimRyan Harper
Trusty is EOL now, we can drop Trusty in vmtest to recover some of that sweet, sweet CPU and IO time.
2019-04-22vmtest: reenable UEFI 4k tests, which got dropped when fixing subclassing.Ryan Harper
2019-04-17vmtests: Add test_kernel_img_conf stub for PsuedoVMBaseClassRyan Harper
This fixes tests_vmtests failures due to missing stub for kernel-img-conf file check.
2019-04-17curthooks: chzdev_import must encode data if providedRyan Harper
subprocess's stdin requires a bytes-like object so callers must encode string values to bytes before submitting them. LP: #1825007
2019-04-16vmtest: test for kernel-img conf on ubuntu onlyRyan Harper
This fixes errors found during Centos tests as we only create a kernel-img.conf on Ubuntu releases.
2019-04-11releasing curtin version 18.2-22-g08bf6ff7-0ubuntu1ubuntu/18.2-22-g08bf6ff7-0ubuntu1Ryan Harper
2019-04-11update changelog (New upstream snapshot 18.2-22-g08bf6ff7).Ryan Harper
2019-04-11merge from upstream/master at 18.2-22-g08bf6ff7Ryan Harper
2019-04-11Setup kernel-img.conf like base-installer/live-installer did.Dimitri John Ledkov
LP: #1534162
2019-04-08zfs: pass pool and fs properties to zpool_createJean-Baptiste Lallement
block-meta use of zpool_create did not supply the optional parameters that are supported in the zfs/zpool configuration dictionary. Fix this by extracting the values from the config and passing them to zpool_create. LP: #1823682
2019-04-04block_meta: pass lvm_partition size through human2bytesMichael Hudson-Doyle
type:lvm_partition schema allows for the 'size' field as integer or string. Process the 'size' value through human2bytes which converts 'size' values into bytes.
2019-04-03releasing curtin version 18.2-19-g36351dea-0ubuntu1ubuntu/18.2-19-g36351dea-0ubuntu1Ryan Harper
2019-04-03update changelog (New upstream snapshot 18.2-19-g36351dea).Ryan Harper
2019-04-03merge from upstream/master at 18.2-19-g36351deaRyan Harper
2019-04-03clear-holders: refactor bcache shutdown and add longer timeoutRyan Harper
Currently curtin will shutdown a bcache device by stopping the associated cacheset. In some cases, the cacheset is responsible for multiple backing devices each of which may have a large amount of dirty data which needs to be flushed to the backing device before the cacheset can completely stop. A better approach is to stop each backing device and monitor for when their dirty-data and state indicate that it's clean and once all related backing devices were stopped to stop the cacheset. However, this triggered numerous kernel BUG() in kernels from Xenial 4.4 GA through Disco 5.0 kernels. A second approach unregistered the cacheset device; this was an improvement but ultimately still triggered kernel BUG() in several released kernels. This would have introduced a regression from current behavior. This patchset retains the original process of stopping the cacheset and then the bcache device, however it refactors the code which discovers, stops and waits into curtin.block.bcache and introduces a higher timeout while waiting for bcache devices to stop. The original fix mentioned was a 1200 second timeout. This patch retains the total time, but breaks the sleep periods up into smaller amounts and progressively increases the timeout. LP: #1796292
2019-04-03schema-validate-storage: remove unused importsParide Legovini
Fixes pyflakes failure: tools/schema-validate-storage:3: 'jsonschema' imported but unused tools/schema-validate-storage:4: 'json' imported but unused tools/schema-validate-storage:6: 'yaml' imported but unused
2019-04-01add subcommand schema for storage-config validationRyan Harper
Introduce curtin feature 'STORAGE_CONFIG_SCHEMA' and a subcommand, 'schema' which accepts a path to a storage configuration file and will validate the configuration against the storage schema. Add some exception handling logic to decode the schema errors and print useful pointers to users on where the error occurred.
2019-04-01clear-holders: wipe raid members at data offsets when not assembledRyan Harper
RAID5 arrays are assembled in degraded mode for speed[1]. If an array is INACTIVE, then curtin cannot wipe the array through the md device. Instead, examine the array members and find the mdadm superblock and data offsets and wipe members at those locations. This wipes the array contents without requiring it to be runnable. LP: #1815018
2019-04-01Add support for s390 DASD devicesRyan Harper
2019-03-29vmtest: skip DiscoTestAllindata while initrd lacks crypto modulesRyan Harper
2019-03-13block_meta: allow passing a dm_crypt key by keyfileMichael Hudson-Doyle
Update dm_crypt handler to accept 'keyfile' in addition to 'key' for configuring crypt device passphrase.
2019-03-06ChrootableTarget: add /run to mounts for redhat targetsRyan Harper
Recent updates to redhat target images appear to require /run to be mounted. Update ChrootableTarget to allow callers to specify a list of mounts needed. In curthooks.setup_grub if target is redhat, then ensure that /run is in the list. LP: #1815666
2019-02-28vmtest: consolidate vm mem config, defaults via release, env overrideRyan Harper
vmtest has a few hard-coded places which specify vm ram size of 1G. Consolidate this configuration and allow the environment to override the value as needed. Finally, set the default vm ram size in the the releases and tune Disco release to 2048.