| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|\
| |
| |
| |
| | |
Reviewed-By: Richard Ipsum <richard.ipsum@codethink.co.uk>
Reviewed-By: Francisco Redondo Marchena <francisco.marchena@codethink.co.uk>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In order to check the user's credentials at the start of deployment, we
try to run `glance image-list`. I found a situation where this command
failed despite my credentials being correct. Morph outputted a
misleading error message that said 'Wrong OpenStack credentials'
The code now checks that the error returned by 'glance' does indeed
look like a credentials error. If it doesn't, the full error output is
displayed. The error I encountered now gets a message like this:
ERROR: openstack.check failed with code 1: ERROR: Failed to connect
to OpenStack instance at https://example.com:5000/v2.0:
[('SSL routines', 'SSL3_GET_SERVER_CERTIFICATE', 'certificate verify
failed')]
(If you are curious, I fixed this by running `update-ca-certificates`.)
|
| |
| |
| |
| |
| |
| |
| |
| | |
The user should be aware of this because if they aren't building
baserock:baserock/definitions or a repo forked from it, those extensions
won't be available.
Also fix some long lines that I seem to have failed to commit already.
|
|\ \
| |/
|/|
| |
| | |
Reviewed-By: Adam Coldrick <adam.coldrick@codethink.co.uk>
Reviewed-By: Sam Thursfield <sam.thursfield@codethink.co.uk>
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This command would use the sysbranchdir.open_from_within() function
call to search for a system branch, which traverses all subdirectories
looking for a directory. This is useful behaviour, but if the user ran
`morph help-extensions` in / it'd traverse their whole filesystem before
returning, which is stupid. This change means it only does the traverse
if it already detected a workspace.
|
|/
|
|
|
| |
We were passing a nonsensical value for the 'kind' parameter so it
would always return an empty list.
|
|
|
|
|
| |
Previously, if no repos were found Morph would raise 'ValueError: need
more than 0 values to unpack' and leave the user with a traceback.
|
|
|
|
|
|
|
|
|
|
| |
When running 'morph build' the code looks through all the Git repos in
a system branch, to see which are involved in the build. These are then
checked for local changes and have temporary build refs created in them.
Due to a mistake in the logic, this would give up if it found a repo
that came from elsewhere but was inside the system branch directory. So
in the past some legitimate repos might have been ignored sometimes.
|
|
|
|
|
|
|
|
| |
Previously if there were repos present in the system branch that weren't
put there with `morph edit` or had lost their Morph-specific
configuration entries somehow you might see this error:
ERROR: Command failed: git config -z morph.repository
|
|
|
|
| |
Also fix wrong indent.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
This patch also modifies rawdisk.write to use the UPGRADE environment
variable to figure out when is doing an upgrade or a fresh deployment.
This change is important because os.path.isfile doesn't work with
devices.
|
|
|
|
|
|
| |
This way we can still use create_local_system to create
a raw disk, but also reuse bits of it to be able e.g. to
deploy to devices.
|
| |
|
|
|
|
|
|
| |
This way when deploying to a device it will format
it without asking the user if the device already
has format.
|
| |
|
|\
| |
| |
| | |
Reviewed-by: Richard Maw
|
| |
| |
| |
| |
| | |
- Document different ways of calling parameters
- Allowed values for boolean parameters
|
| | |
|
| | |
|
| | |
|
|/
|
|
| |
Add AUTOSTART parameter
|
|
|
|
|
| |
- Move docstring from .write to .write.help
- Rework the content and formatting of the help information
|
| |
|
|\
| |
| |
| |
| | |
Reviewed-By: Adam Coldrick <adam.coldrick@codethink.co.uk>
Reviewed-By: Francisco Redondo Marchena <francisco.marchena@codethink.co.uk>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Previously, creating a GitDirectory object for something that wasn't a
Git repository would succeed, but most operations would raise a
cliapp.AppException with the following error message:
ERROR: Command failed: git config -z core.bare
Now, the constructor will raise a NoGitRepoError if the directory isn't
a Git repo, which (unless handled) gives the user the following sort of
message:
ERROR: Directory /src/ws/definitions is not a Git repository
|
|\ \
| | |
| | |
| | | |
Reviewed-By: Richard Maw <richard.maw@codethink.co.uk>
|
| | |
| | |
| | |
| | |
| | | |
Silly mistake caused this to be broken, and there are no tests for this
command inside the morph.git source tree.
|
| | |
| | |
| | |
| | |
| | | |
The bug in the generated command lines has been fixed, so we can have
this cleanup back now.
|
|/ / |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This reverts commit 203f34b2b19b1d3dc51a956ae9329d064ea294dd.
The path inversion logic is still buggy for the case of wanting to keep
the top-level directory writable.
This escaped detection in the test suite because it resulted in
directories two levels down being made read-only, and I was only testing
one level down.
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit c63f4e61f69820c71c2d8e9b96ce9bdec0d476a1.
This change was introduced back when the Baserock system definitions
used named Git refs rather than exact SHA1s. Morph would thus need to
update each repo involved in a build and resolve each ref before it
could build. Now that the system definitions use SHA1s, the 'updating
gits' phase is much less slow.
The problem with forcing 'no-git-update' is that it makes `morph deploy`
depend on the remote repo cache. In the case that all repos involved in
the build are avaiable in the remote repo cache (Trove), there is no
need for them to have been cached locally just to construct a build
graph. But if the network connection to the Trove is unreliable Morph
will need to fall back to the local repo cache. Unless Morph has done a
full local build of the system being built, it might not have every repo
cached locally. Often, cached artifacts from the Trove or distbuild may
be used instead of locally building everything.
In this case the user sees `morph deploy` failing with errors such as:
Repository upstream:binutils-redhat is not cached yet
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
This code is an essential part of 'morph build'. It's quite complex and
really shouldn't be mixed in with the base Application class.
Given a dedicated class we can store some state in the object and avoid
functions with seven parameters, too.
|
|
|
|
|
|
| |
The MorphologyFactory class only uses the status() function of the
morphlib.Application instance that it gets passed. So make it require
only a status callback.
|
|\
| |
| |
| |
| | |
Reviewed-By: Pedro Alvarez <pedro.alvarez@codethink.co.uk>
Reviewed-By: Adam Coldrick <adam.coldrick@codethink.co.uk>
|
| |
| |
| |
| | |
Clarify that bare repositories are supported, and other fixes.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The GitDirectory() constructor, if passed a 'dirname' that doesn't
contain a '.git' subdirectory, can search upwards to find the real root
of the repository. This is used by the `add-binary`, `push`, and `pull`
commands.
This causes very confusing behaviour in the case that 'dirname' points to
a directory that should be a Git repository, but isn't, and that directory
is a path inside the working tree of another Git repository. Rather than
raising an error, in this case the GitDirectory class would perform
operations on a different repository to the one the caller expected.
This 'search_for_root' behaviour is now opt-in, to avoid confusion.
|
|\ \
| | |
| | |
| | |
| | | |
Reviewed-By: Adam Coldrick <adam.coldrick@codethink.co.uk>
Reviewed-By: Jim MacArtuhur <jim.macarthur@codethink.co.uk>
|