summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Update reference output of tests, to match expected warnings.tlsa/chunk-ref-sha1-warningsMichael Drake2015-03-1115-0/+41
|
* Suppress warnings in test code.Michael Drake2015-03-113-55/+84
| | | | | Warnings are only for the benefit of users, and they pollute the output of `check` if not suppressed.
* Make warning messages more user friendly.Michael Drake2015-03-111-0/+7
| | | | | | Printing the file and line number of the warning's origin makes the warning itself harder to spot, and can make it appear as if something has actually gone wrong.
* Print warning message for non-sha1 chunk refs.Michael Drake2015-03-111-0/+3
|
* Merge branch 'sam/remove-foreach-test'Sam Thursfield2015-03-112-25/+2
|\ | | | | | | | | Reviewed-By: Pedro Alvarez <pedro.alvarez@codethink.co.uk> Reviewed-By: Francisco Redondo Marchena <francisco.marchena@codethink.co.uk>
| * yarns: Remove test for `morph foreach`Sam Thursfield2015-03-112-25/+2
|/ | | | | | | | | | This test fails with latest Busybox. Since we plan on removing workspaces anyway, I don't see a reason to fix it. The `morph foreach` command does actually still work as expected. Morph's ./check test suite now passes again in a 'build' reference system built from commit 88eface4c72dab689bc409c77e209833a0acd038 or newer.
* Merge branch 'sam/distbuild-build-logs'Sam Thursfield2015-03-1110-129/+143
|\ | | | | | | | | Reviewed-By: Adam Coldrick <adam.coldrick@codethink.co.uk> Reviewed-By: Richard Maw <richard.maw@codethink.co.uk>
| * distbuild: Log in build-step-xx.log files when initiator cancels buildSam Thursfield2015-02-183-16/+31
| | | | | | | | | | This makes it easier to spot if an incomplete build was due to the user cancelling, or if it represents a dropped connection or internal error.
| * distbuild: Remove the build-steps messageSam Thursfield2015-02-185-53/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This message was hundreds of kilobytes in size, as it contained a recursive list of dependencies for each artifact in the build graph. It was used in the initiator only to print this message: Build steps in total: 592 This message is now gone. The 'Need to build %d artifacts' build-progress message now indicates the total build steps instead: Need to build 300 artifacts, of 592 total This is a compatible change to the distbuild protocol: old initiators will continue to work as normal with new controllers that don't send the build-steps message.
| * distbuild: Create a new directory to store build logs for each build.Sam Thursfield2015-02-182-2/+20
| | | | | | | | | | | | | | | | | | | | | | | | It gets messy having hundreds of build-step-xx.log files in the current directory, and if two builds are run in parallel from the same directory the logs for a given chunk will be mixed together in one file. Now, a new directory named build-0, build-1, build-2 etc is created for each new build. If the user passes --initiator-step-output-dir the logs will be placed in that directory, instead. This behaviour is the same as before.
| * distbuild: Use source name, not artifact name, for build step logsSam Thursfield2015-02-181-1/+1
| | | | | | | | | | | | | | | | Users build sources, not artifacts. So the log files should be called build-step-systemd.log and not build-step-systemd-misc.log. Note strata are a kind of special case so you will still see build-step-foundation-runtime.log, build-step-foundation-devel.log etc.
| * distbuild: Fix build logs being sent to the wrong log filesSam Thursfield2015-02-181-54/+81
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For a while we have seen an issue where output from build A would end up in the log file of some other random chunk. The problem turns out to be that the WorkerConnection class in the controller-daemon assumes cancellation is instantaneous. If a build was cancelled, the WorkerConnection would send a cancel message for the job it was running, and then start a new job. However, the worker-daemon process would have a backlog of exec-output messages and a delayed exec-response message from the old job. The controller would receive these and would assume that they were for the new job, without checking the job ID in the messages. Thus they would be sent to the wrong log file. To fix this, the WorkerConnection class now tracks jobs by job ID, and the code should be generally more robust when unexpected messages are received.
| * Update copyright yearsSam Thursfield2015-02-184-4/+4
| |
* | Merge branch 'jjardon/no_build_depends'Javier Jardón2015-03-064-55/+11
|\ \ | | | | | | | | | | | | | | | Reviewed-By: Paul Sherwood <paul.sherwood@codethink.co.uk> Reviewed-By: Sam Thursfield <sam.thursfield@codethink.co.uk> Reviewed-By: Pedro Alvarez <pedro.alvarez@codethink.co.uk>
| * | Do not fail if a chunk doesnt have a 'build-depends' parameter definedjjardon/no_build_dependsJavier Jardón2015-03-042-20/+10
| | |
| * | morphlib/morphloader_tests.py: Remove test to require 'build-depends'Javier Jardón2015-03-041-21/+1
| | |
| * | morphlib/sourceresolver_tests.py: Remove test to require 'build-depends'Javier Jardón2015-03-041-14/+0
| | |
| * | morphlib/sourceresolver.py: Check and parse VERSION fileJavier Jardón2015-03-041-0/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Only fail if: - VERSION file exists - and its a yaml file - and its a dict - and has the key 'version' - and the contents of the key 'version' is an int - and that int is in the list of non_supported_versions (empty at the moment)
| * | morphlib/sourceresolver.py: Remove not used functionsJavier Jardón2015-03-041-16/+0
| | | | | | | | | | | | _get_morphology_from_definitions() and _get_morphology_from_repo()
| * | morphlib/sourceresolver.py: Do not duplicate what is already done in ↵Javier Jardón2015-03-041-8/+3
| | | | | | | | | | | | load_from_string()
| * | morphlib/morphloader.py: Add a check to load_from_string()Javier Jardón2015-03-041-1/+5
| | |
| * | morphlib/morphloader.py: Update copyrigthJavier Jardón2015-03-041-1/+1
| | |
| * | morphlib/sourceresolver.py: Add _get_file_contents()Javier Jardón2015-03-041-12/+23
| | | | | | | | | | | | And make _get_morphology() use it
| * | morphlib/sourceresolver.py: Add _get_file_contents_from_definitions()Javier Jardón2015-03-041-1/+10
| | | | | | | | | | | | And make _get_morphology_from_definitions() use it
| * | morphlib/sourceresolver.py: Add _get_file_contents_from_repo()Javier Jardón2015-03-041-5/+11
| | | | | | | | | | | | And make _get_morphology_from_repo() use it
| * | Add check for virtual networksRichard Ipsum2015-03-041-0/+48
| | | | | | | | | | | | An exception will be raised if any needed networks are not started
| * | Check file can be created at locationRichard Ipsum2015-03-041-1/+22
| | |
| * | distbuild: Be more robust when a worker disconnectsSam Thursfield2015-03-041-8/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | The logic to handle a worker disconnecting was broken. The WorkerConnection object would remove itself from the main loop as soon as the worker disconnected. But it would not get removed from the list of available workers that the WorkerBuildQueue maintains. So the controller would continue sending messages to this dead connection, and the builds it sent would hang forever for a response.
| * | Only update Git submodules in cache when necessarySam Thursfield2015-03-043-66/+65
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This saves a duplicate `git remote update origin` that was being run as part of each chunk build. For any repos that have submodules, it also avoids updating repos if the SHA1 we need to build is already present locally. As well as speeding up builds slightly, this means Morph can now build without being connected to a network, as long as the local Git cache all of the necessary repos and commits in the build, without needing the '--no-git-update' option. The code is also now in a more logical place than before.
| * | Fix copyright yearsSam Thursfield2015-03-041-1/+1
| | |
* | | Merge remote-tracking branch 'petefoth/pf_copyright_in_help'Sam Thursfield2015-03-059-1/+127
|\ \ \ | | | | | | | | | | | | | | | | | | | | Reviewed-By: Pedro Alvarez <pedro.alvarez@codethink.co.uk> Reviewed-By: Javier Jardón <javier.jardon@codethink.co.uk> Reviewed-By: Sam Thursfield <sam.thursfield@codethink.co.uk>
| * | | Add copyright headers to write.help and configure.help filesPete Fotheringham2015-03-059-1/+127
| | | |
* | | | Merge branch 'jjardon/versioning_support'Javier Jardón2015-03-042-31/+65
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | Reviewed-By: Paul Sherwood <paul.sherwood@codethink.co.uk> Reviewed-By: Sam Thursfield <sam.thursfield@codethink.co.uk> Reviewed-By: Richard Maw <richard.maw@gmail.com>
| * | | | morphlib/sourceresolver.py: Check and parse VERSION filejjardon/versioning_supportJavier Jardón2015-03-031-0/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Only fail if: - VERSION file exists - and its a yaml file - and its a dict - and has the key 'version' - and the contents of the key 'version' is an int - and that int is in the list of non_supported_versions (empty at the moment)
| * | | | morphlib/sourceresolver.py: Remove not used functionsJavier Jardón2015-02-271-16/+0
| | | | | | | | | | | | | | | | | | | | _get_morphology_from_definitions() and _get_morphology_from_repo()
| * | | | morphlib/sourceresolver.py: Do not duplicate what is already done in ↵Javier Jardón2015-02-271-8/+3
| | | | | | | | | | | | | | | | | | | | load_from_string()
| * | | | morphlib/morphloader.py: Add a check to load_from_string()Javier Jardón2015-02-271-1/+5
| | | | |
| * | | | morphlib/morphloader.py: Update copyrigthJavier Jardón2015-02-271-1/+1
| | | | |
| * | | | morphlib/sourceresolver.py: Add _get_file_contents()Javier Jardón2015-02-271-12/+23
| | | | | | | | | | | | | | | | | | | | And make _get_morphology() use it
| * | | | morphlib/sourceresolver.py: Add _get_file_contents_from_definitions()Javier Jardón2015-02-271-1/+10
| | | | | | | | | | | | | | | | | | | | And make _get_morphology_from_definitions() use it
| * | | | morphlib/sourceresolver.py: Add _get_file_contents_from_repo()Javier Jardón2015-02-271-5/+11
| | | | | | | | | | | | | | | | | | | | And make _get_morphology_from_repo() use it
* | | | | Merge remote-tracking branch 'origin/baserock/richardipsum/kvm-ext-more-checks'Richard Maw2015-03-041-1/+70
|\ \ \ \ \ | |_|/ / / |/| | | | | | | | | | | | | | | | | | | Reviewed-by: Pedro Alvarez Reviewed-by: Francisco Redondo Marchena Reviewed-by: Richard Maw
| * | | | Add check for virtual networksRichard Ipsum2015-01-291-0/+48
| | | | | | | | | | | | | | | | | | | | An exception will be raised if any needed networks are not started
| * | | | Check file can be created at locationRichard Ipsum2015-01-291-1/+22
| | | | |
* | | | | Merge branch 'sam/distbuild-worker-disconnect'Sam Thursfield2015-03-031-8/+35
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reviewed-By: Richard Maw <richard.maw@codethink.co.uk> Reviewed-By: Francisco Redondo Marchena <francisco.marchena@codethink.co.uk> Reviewed-By: Mike Smith <mike.smith@codethink.co.uk>
| * | | | | distbuild: Be more robust when a worker disconnectsSam Thursfield2015-02-031-8/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The logic to handle a worker disconnecting was broken. The WorkerConnection object would remove itself from the main loop as soon as the worker disconnected. But it would not get removed from the list of available workers that the WorkerBuildQueue maintains. So the controller would continue sending messages to this dead connection, and the builds it sent would hang forever for a response.
* | | | | | Merge branch 'sam/fewer-submodule-updates'Sam Thursfield2015-03-033-66/+65
|\ \ \ \ \ \ | |_|_|/ / / |/| | | | | | | | | | | | | | | | | Reviewed-By: Javier Jardón <javier.jardon@codethink.co.uk> Reviewed-By: Richard Maw <richard.maw@codethink.co.uk>
| * | | | | Only update Git submodules in cache when necessarySam Thursfield2015-02-103-67/+66
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This saves a duplicate `git remote update origin` that was being run as part of each chunk build. For any repos that have submodules, it also avoids updating repos if the SHA1 we need to build is already present locally. As well as speeding up builds slightly, this means Morph can now build without being connected to a network, as long as the local Git cache all of the necessary repos and commits in the build, without needing the '--no-git-update' option. The code is also now in a more logical place than before.
* | | | | Fix copyright yearsSam Thursfield2015-02-271-1/+1
| | | | |
* | | | | Merge remote-tracking branch 'origin/sam/disable-new-btrfs-features'Sam Thursfield2015-02-271-1/+25
|\ \ \ \ \ | | |_|/ / | |/| | | | | | | | | | | | | Reviewed-By: Pedro Alvarez <pedro.alvarez@codethink.co.uk> Reviewed-By: Zara Zaimeche <zara.zaimeche@codethink.co.uk>