path: root/scripts
diff options
authorRichard Maw <>2014-08-22 13:01:39 +0000
committerRichard Maw <>2014-08-28 10:01:44 +0000
commitf45695be540c58314ab30847318ab3cb9b861524 (patch)
tree874146075ff99ff968ab7e8c5e6da1ba9a1bf902 /scripts
parent69af63a4824726cceaf176e6878bc87ca67f76e5 (diff)
Deploy Masons to use source on upstream troves
The per-mason trove only needs to worry about being an artifact cache, so we can prevent it populating itself from the upstream trove by making it use the SSH protocol for fetching sources, and not registering its ssh key with the upstream trove. The MASON_UPSTREAM_TROVE_ADDRESS option has been removed, as this is now the TROVE_HOST. The distbuild network is now configured to use the upstream trove for sources, and the local trove for artifacts, with the ARTIFACT_CACHE_SERVER option. mason.configure now uses ARTIFACT_CACHE_SERVER to tell deploy commands which server to fetch artifacts from.
Diffstat (limited to 'scripts')
1 files changed, 9 insertions, 2 deletions
diff --git a/scripts/release-build b/scripts/release-build
index a3e25ebb..5525e9e9 100755
--- a/scripts/release-build
+++ b/scripts/release-build
@@ -53,6 +53,9 @@ class ReleaseApp(cliapp.Application):
'hostname of Trove instance')
+ self.settings.string(['artifact-cache-server'],
+ 'server to fetch artifacts from', default=None)
'Baserock version of the systems being built',
@@ -157,10 +160,14 @@ class ReleaseApp(cliapp.Application):
def deploy_single_image(self, cluster_path, name, location, version_label):
deploy_command = [
'morph', 'deploy', cluster_path, name,
- '--trove-host=%s' % self.settings['trove-host'],
+ '--trove-host=%s' % self.settings['trove-host']]
+ artifact_server = self.settings['artifact-cache-server']
+ if artifact_server is not None:
+ deploy_command.append('--artifact-cache-server=%s' % artifact_server)
+ deploy_command.extend((
'%s.location=%s' % (name, location),
'%s.VERSION_LABEL=%s' % (name, version_label)
- ]
+ ))
cliapp.runcmd(deploy_command, stdout=sys.stdout)