From 6f5466392a6ce6fd2947d491510134349e2b3ff3 Mon Sep 17 00:00:00 2001 From: Scott Hussey Date: Thu, 31 Jan 2019 10:22:11 -0600 Subject: [PATCH] Support update site action - Create a manifest for an update_site scenario - Update pegleg-collect stage to support behavior change on an update site to only collect changes in the site definition and not regenerate libvirt keys. Change-Id: Iba4dc49c9173a3872ca01946bfcb4247f2ca19a2 --- ...multinode_update.json => update_site.json} | 40 +++---------------- .../airship_gate/stages/pegleg-collect.sh | 34 +++++++++++----- 2 files changed, 29 insertions(+), 45 deletions(-) rename tools/multi_nodes_gate/airship_gate/manifests/{multinode_update.json => update_site.json} (76%) diff --git a/tools/multi_nodes_gate/airship_gate/manifests/multinode_update.json b/tools/multi_nodes_gate/airship_gate/manifests/update_site.json similarity index 76% rename from tools/multi_nodes_gate/airship_gate/manifests/multinode_update.json rename to tools/multi_nodes_gate/airship_gate/manifests/update_site.json index 9c90609b..e38159cf 100644 --- a/tools/multi_nodes_gate/airship_gate/manifests/multinode_update.json +++ b/tools/multi_nodes_gate/airship_gate/manifests/update_site.json @@ -1,3 +1,4 @@ + { "configuration": { "site": "gate-multinode", @@ -11,48 +12,20 @@ "172.24.1.6": ["drydock","shipyard","keystone"] }, "stages": [ - { - "name": "Gate Setup", - "script": "gate-setup.sh" - }, { "name": "Pegleg Collection", - "script": "pegleg-collect.sh" - }, - { - "name": "Populate Image Cache", - "script": "registry-load.sh" - }, - { - "name": "Generate Certificates", - "script": "generate-certificates.sh" - }, - { - "name": "Build Scripts", - "script": "build-scripts.sh" - }, - { - "name": "Create VMs", - "script": "create-vms.sh" - }, - { - "name": "Genesis", - "script": "genesis.sh", - "on_error": "collect_genesis_info.sh" + "script": "pegleg-collect.sh", + "arguments": ["update"] }, { "name": "Load Site Design", - "script": "shipyard-load-design.sh" + "script": "shipyard-load-design.sh", + "arguments": ["-g", "-o"] }, { "name": "Deploy Site", - "script": "shipyard-deploy-site.sh" - }, - { - "name": "Update Site", "script": "shipyard-update-site.sh" } - ], "vm": { "build": { @@ -60,12 +33,11 @@ "vcpus": 2, "mac": "52:54:00:00:be:31", "ip": "172.24.1.9", - "io_profile": "fast", "bootstrap": true, "userdata": "packages: [docker.io]" }, "n0" : { - "memory": 16384, + "memory": 32768, "vcpus": 8, "mac": "52:54:00:00:a4:31", "ip": "172.24.1.10", diff --git a/tools/multi_nodes_gate/airship_gate/stages/pegleg-collect.sh b/tools/multi_nodes_gate/airship_gate/stages/pegleg-collect.sh index 38807929..c2358f48 100755 --- a/tools/multi_nodes_gate/airship_gate/stages/pegleg-collect.sh +++ b/tools/multi_nodes_gate/airship_gate/stages/pegleg-collect.sh @@ -50,16 +50,28 @@ render_pegleg_cli() { echo ${cli_string} } +collect_design_docs() { + docker run \ + --rm -t \ + --network none \ + -v "${REPO_ROOT}":/workspace \ + -v "${DEFINITION_DEPOT}":/collect \ + "${IMAGE_PEGLEG_CLI}" \ + $(render_pegleg_cli) +} + +collect_initial_docs() { + collect_design_docs + log "Generating virtmgr key documents" + gen_libvirt_key && install_libvirt_key + collect_ssh_key +} + log "Collecting site definition to ${DEFINITION_DEPOT}" -docker run \ - --rm -t \ - --network none \ - -v "${REPO_ROOT}":/workspace \ - -v "${DEFINITION_DEPOT}":/collect \ - "${IMAGE_PEGLEG_CLI}" \ - $(render_pegleg_cli) - -log "Generating virtmgr key documents" -gen_libvirt_key && install_libvirt_key -collect_ssh_key +if [[ "$1" != "update" ]]; +then + collect_initial_docs +else + collect_design_docs +fi