summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* Add COPYING with the GPLv2 licenseJavier Jardón2015-03-211-0/+339
| | | | Change-Id: I00bcedae271c20273020fa3a60bb21decde85eed
* Merge "deploy: Tighten SSH connectivity check"Javier Jardón2015-03-191-1/+5
|\
| * deploy: Tighten SSH connectivity checkSam Thursfield2015-03-191-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I accidentally tried to deploy a Baserock upgrade to a Fedora cloud machine. Every SSH command that Morph ran got the following output: Please login as the user "fedora" rather than the user "root". The existing implementation of check_ssh_connectivity() didn't raise an exception, leading to confusing errors further down. The new implementation produces this error: ERROR: Unexpected output from remote machine: Please login as the user "fedora" rather than the user "root". Change-Id: Ida5a82b25d759167aa842194b0d833d0565b4acf
* | Merge "morphlib/sourceresolver.py: parse VERSION file in a function"Javier Jardón2015-03-181-6/+22
|\ \
| * | morphlib/sourceresolver.py: parse VERSION file in a functionJavier Jardón2015-03-171-6/+22
| | | | | | | | | | | | Change-Id: I6e714d1994632875a5a15f840fe8ab3a66dddc77
* | | Merge "morphlib/sourceresolver.py: Fail if morph doesnt support the version ↵Javier Jardón2015-03-181-8/+12
|\ \ \ | |/ / | | | | | | of definitions format"
| * | morphlib/sourceresolver.py: Fail if morph doesnt support the version of ↵baserock-definitions-v1Javier Jardón2015-03-171-8/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | definitions format This patch will add the following restriction: if VERSION exist and its a YAML file and its a dict and has the key 'version' and the type stored in the 'version' key is an int and that int is not in the supported format, then fail. So, if someone is using 'version: 4' in VERSION, morph will fail (as opposed to current morph, that will not fail in the check but will likely fail when it tries to compile) Change-Id: I555f7e6018b9bdf18c80039df92a253acbd51c8c
* | | Merge branch 'baserock/richardipsum/add-hosts-conf-ext-v3'Richard Ipsum2015-03-183-18/+87
|\ \ \ | | | | | | | | | | | | | | | | | | | | Reviewed by: Richard Maw <richard.maw@gmail.com> (+2) Pedro Alvarez <pedro.alvarez@codethink.co.uk> (v2) (+1)
| * | | Add hosts.configureRichard Ipsum2015-03-181-0/+48
| | | | | | | | | | | | | | | | | | | | | | | | This adds a new config extension to allow deployments to write to /etc/hosts by adding HOSTS_x: </etc/hosts line> to a cluster morph in a similar manner to the fstab.configure extension.
| * | | Make fstab.configure use write_from_dictRichard Ipsum2015-03-181-18/+7
| | | |
| * | | Add write_from_dict to utilRichard Ipsum2015-03-181-0/+32
|/ / / | | | | | | | | | A function to read lines from a dictionary and append them to a file
* | | scripts/test-shell.c: Add missing license headerJavier Jardón2015-03-171-0/+15
| | | | | | | | | | | | Change-Id: I46ad9c15064de752e839611d2ce3ee016ec7cc46
* | | Fix line lengths in morphlib/exts/simple-network.configureAdam Coldrick2015-03-171-5/+9
|/ / | | | | | | | | | | | | | | Some lines were more than 79 characters long. This was causing ./check --full to fail on master of morph. This commit fixes the lines in question. Change-Id: I80969d2d89d3922e021b716c250796188d7a7f4c
* | 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)