summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* fixup: Add source_name backbaserock/adamcoldrick/speed-up-artifact-serialisation-v4Adam Coldrick2015-03-171-0/+1
| | | | Change-Id: I185ab0858883d141c7a0f26ca122177e8a6b4c8b
* Calculate the build graph in worker-buildAdam Coldrick2015-03-171-5/+25
| | | | | Calculate the build graph and find the artifact which is referred to by the ArtifactReference which was deserialised.
* Make distbuild use an ArtifactReference not an Artifact internally when buildingAdam Coldrick2015-03-172-24/+27
| | | | | | We no longer serialise entire artifacts, so the output of deserialise_artifact is an ArtifactReference. This commit changes stuff in distbuild to know how to deal with that rather than an Artifact.
* Don't serialise the entire build graphAdam Coldrick2015-03-172-219/+130
| | | | | | | | The controller no longer needs to know everything about an artifact as the workers can calculate the build graph themselves quickly. This reduces the amound of data which needs to be serialised by serialise-artifact, making the yaml dump quicker.
* Merge "Use python3 compatible notation for catching exceptions"Javier Jardón2015-03-1721-40/+40
|\
| * Use python3 compatible notation for catching exceptionsJavier Jardón2015-03-1621-40/+40
| | | | | | | | Change-Id: Ibda7a938cd16e35517a531140f39ef4664d85c72
* | Merge branch 'jjardon/simple-network-networkd2'Javier Jardón2015-03-161-11/+131
|\ \ | |/ |/| | | | | Reviewed-By: Richard Maw <richard.maw@codethink.co.uk> Reviewed-By: Sam Thursfield <sam.thursfield@codethink.co.uk>
| * simple-network.configure: Rename networkd file generated by systemd chunkjjardon/simple-network-networkd2Javier Jardón2015-03-161-0/+29
| | | | | | | | | | Rename instead removal in case the user is already using a 10-dhcp.network file
| * simple-network.configure: Update documentationJavier Jardón2015-03-161-6/+9
| |
| * simple-network.configure: Generate default network config files in a functionJavier Jardón2015-03-161-6/+20
| | | | | | | | | | | | Use DHCP by defaul in the default interfaces: - for /etc/networ/interfaces: "lo:loopback;eth0:dhcp,hostname=$(hostname)" - for networkd: "e*:dhcp"
| * simple-network.configure: process pairs of parameters in a functionJavier Jardón2015-03-161-0/+29
| |
| * simple-network.configure: Add function to convert mask to cidr suffixJavier Jardón2015-03-161-0/+7
| | | | | | | | 255.255.255.0 -> 24
| * simple-network.configure: Generate networkd .network files as wellJavier Jardón2015-03-161-0/+33
| |
| * simple-network.configure: Move the generation of /etc/network/interfaces to ↵Javier Jardón2015-03-161-1/+6
| | | | | | | | a function
| * Use the modern way of the GPL copyright header: URL instead real addressJavier Jardón2015-03-16234-664/+429
| | | | | | | | Change-Id: I992dc0c1d40f563ade56a833162d409b02be90a0
* | Merge "Use the modern way of the GPL copyright header: URL instead real address"Javier Jardón2015-03-16234-664/+429
|\ \ | |/ |/|
| * Use the modern way of the GPL copyright header: URL instead real addressJavier Jardón2015-03-16234-667/+432
| | | | | | | | Change-Id: I992dc0c1d40f563ade56a833162d409b02be90a0
* | Fix call to status() in commit 364455436aded34ce6f843dfa68a32c14aaf01eaSam Thursfield2015-03-161-1/+2
| | | | | | | | I was meant to do this at merge time but didn't.
* | Merge "Use python3 compatible notation for octal constants"Javier Jardón2015-03-165-10/+10
|\ \
| * | Use python3 compatible notation for octal constantsJavier Jardón2015-03-135-10/+10
| | | | | | | | | | | | Change-Id: I771c3de9cecda7a503f4d36ae5d9fabc040892e4
* | | Merge "print: use function instead the statement one"Javier Jardón2015-03-161-1/+2
|\ \ \ | |/ /
| * | print: use function instead the statement oneJavier Jardón2015-03-131-1/+2
| |/ | | | | | | Change-Id: I7c6f618d5d19e03d906798a6f799d74ac55b0d09
* | Merge branch 'baserock/richardipsum/cache-exp'Sam Thursfield2015-03-161-19/+55
|\ \ | |/ |/| | | | | | | | | Reviewed-By: Pedro Alvarez <pedro.alvarez@codethink.co.uk> Reviewed-By: Adam Coldrick <adam.coldrick@codethink.co.uk> Reviewed-By: Richard Maw <richard.maw@codethink.co.uk> Reviewed-By: Sam Thursfield <sam.thursfield@codethink.co.uk>
| * Minimise repo cache fetchesRichard Ipsum2015-03-071-21/+49
| | | | | | | | | | | | | | If we know the build system for a chunk is cached then we also know that it doesn't have a chunk morph, so we don't need to look for one. (We only cache the build systems of chunks that don't have chunk morphs)
| * Fix bug in build system cache accessRichard Ipsum2015-03-071-3/+11
| | | | | | | | | | | | | | | | | | This fixes a bug that causes morph to run build system detection even though the build system has already been cached. The cache is accessed before the key has been computed (absref isn't known until after we've called resolve_ref) so it always misses.
* | Merge branch 'baserock/lauren/morph-version-message-fix'Pedro Alvarez2015-03-111-2/+2
|\ \ | | | | | | | | | | | | Reviewed-By: Adam Coldrick <adam.coldrick@codethink.co.uk> Reviewed-By: Javier Jardón <javier.jardon@codethink.co.uk>
| * | Fix how the morph protocol version error message is displayedLauren Perry2015-03-111-2/+2
|/ /
* | 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
| | |