25
from snappy_ecosystem_tests.environment.data.snapd import (
26
CONTAINER_HOME, CONTAINER_ENV_VARS, CONTAINER_SETUP)
25
27
from snappy_ecosystem_tests.utils import lxd
27
CONTAINER_HOME = '/root'
28
DIRECTORY_CLONE = '{}/src/github.com/snapcore/snapd'.format(CONTAINER_HOME)
29
ENV_STORE_API_ROOT = 'UBUNTU_STORE_API_ROOT_URL'
30
ENV_STORE_SEARCH_ROOT = 'UBUNTU_STORE_SEARCH_ROOT_URL'
31
ENV_STORE_UPLOAD_ROOT = 'UBUNTU_STORE_UPLOAD_ROOT_URL'
32
ENV_SSO_API_ROOT = 'UBUNTU_SSO_API_ROOT_URL'
33
PACKAGES_SNAPD = ['snapd', 'snap-confine', 'ubuntu-core-launcher']
34
COMMAND_REMOVE_SNAPD = 'apt purge -y {}'.format(' '.join(PACKAGES_SNAPD))
35
COMMAND_APT_BUILD_DEP = 'apt build-dep -y ./'
36
COMMAND_APT_INSTALL = 'apt install -y {}'
37
COMMAND_APT_INSTALL_STAGING_DEBS = COMMAND_APT_INSTALL.format(
38
' '.join(['../{}*.deb'.format(pkg) for pkg in PACKAGES_SNAPD]))
39
COMMAND_APT_UPDATE = 'apt update'
40
COMMAND_APT_UPGRADE = 'apt dist-upgrade -y'
41
COMMAND_BUILD_SNAPD = 'DEB_BUILD_OPTIONS="nocheck testkeys" ' \
42
'dpkg-buildpackage -tc -b'
43
COMMAND_EXPORT_STAGING_STORE_VAR = 'echo SNAPPY_USE_STAGING_STORE=1 >> ' \
45
COMMAND_GET_GOVENDOR = 'go get -v github.com/kardianos/govendor'
46
COMMAND_GIT_CLONE = 'git clone {} {}'
47
COMMAND_GOVENDOR_SYNC = 'govendor sync'
48
REPOSITORY_GIT = 'https://github.com/snapcore/snapd'
49
URL_API_ROOT = 'https://myapps.developer.staging.ubuntu.com/dev/api/'
50
URL_SEARCH_ROOT = 'https://search.apps.staging.ubuntu.com/'
51
URL_UPLOAD_ROOT = 'https://upload.apps.staging.ubuntu.com/'
52
URL_SSO_API_ROOT = 'https://login.staging.ubuntu.com/api/v2/'
57
# Hold open-iscsi which is causing apt upgrade errors while running
59
'apt-mark hold open-iscsi',
61
# Needed for snaps to work inside a lxd container
62
# ref: https://stgraber.org/2016/12/07/running-snaps-in-lxd-containers/
63
COMMAND_APT_INSTALL.format('squashfuse'),
64
COMMAND_GIT_CLONE.format(REPOSITORY_GIT, DIRECTORY_CLONE),
65
{'command': COMMAND_APT_BUILD_DEP, 'cwd': DIRECTORY_CLONE},
66
{'command': COMMAND_GET_GOVENDOR, 'cwd': DIRECTORY_CLONE},
67
{'command': COMMAND_GOVENDOR_SYNC, 'cwd': DIRECTORY_CLONE},
68
{'command': COMMAND_BUILD_SNAPD, 'cwd': DIRECTORY_CLONE},
69
COMMAND_EXPORT_STAGING_STORE_VAR,
70
{'command': COMMAND_APT_INSTALL_STAGING_DEBS, 'cwd': DIRECTORY_CLONE}
73
CONTAINER_ENV_VARS = {
74
'GOPATH': CONTAINER_HOME,
75
'SNAPPY_USE_STAGING_STORE': '1',
76
ENV_STORE_API_ROOT: URL_API_ROOT,
77
ENV_STORE_SEARCH_ROOT: URL_SEARCH_ROOT,
78
ENV_STORE_UPLOAD_ROOT: URL_UPLOAD_ROOT,
79
ENV_SSO_API_ROOT: URL_SSO_API_ROOT,
82
29
LOGGER = logging.getLogger(__name__)