- Makes 'setup_provider()' responsible for all user interaction to install
and/or configure the provider, and its depdenencies. Adds 'interactive'
parameter to allow for non-interactive installs, though not currently utilized.
- Refactored LXD checks into their own methods, adding a compatibility check to
check the LXD version is 4.0+, and removing the snap install check in favor of
just ensuring the hardcoded /snap/bin/lx[cd] paths are present.
- Moves setup code out of MultipassCommand into the Multipass provider.
- Update lifecycle CLI to utilize new interfaces. When tty is not connected,
and setup is required, exit with error that that build provider is not
installed or configured.
Signed-off-by: Chris Patterson <email address hidden>
godeps hasn't been updated in quite some time, but it has
dependencies that need to be locked [1]. Specifically, go-toml
has been updated recently to require newer string interfaces,
requiring go 1.10+, breaking godeps projects on older go
versions.
Since godeps is used for dependency tracking (prior to go
modules), we lock in the dependencies ourselves by checking
out the correct revisions after downloading via go-get.
build providers: hide systemd setup for LXD (#3281)
The LXD setup is overly verbose. This is a first pass to hide some of
the many unnecessary things show by default (snapcraft's internal debug
still shows them).