From bfd1f0efbe3196cdd6ab6bb811fc53828e45528f Mon Sep 17 00:00:00 2001 From: Parker Berberian Date: Wed, 20 Dec 2017 13:04:12 -0500 Subject: Adds ability to capture and image hosts JIRA: PHAROS-322 Adds the action metadata files, action code, and workflow definitions that allows us to image a selected host with any disk image or operating system. For example, to install ubuntu on host "pod4", run st2 run pharoslaas.fog_imageWorkflow host=pod4 os=ubuntu Change-Id: I9cb0bf031f19313b3b9ad6c5e3ed11dff4ea2039 Signed-off-by: Parker Berberian --- .../actions/workflows/fog_captureWorkflow.yaml | 27 +++++++++++++++ .../actions/workflows/fog_imageWorkflow.yaml | 39 ++++++++++++++++++++++ 2 files changed, 66 insertions(+) create mode 100644 laas-fog/pharoslaas/actions/workflows/fog_captureWorkflow.yaml create mode 100644 laas-fog/pharoslaas/actions/workflows/fog_imageWorkflow.yaml (limited to 'laas-fog/pharoslaas/actions/workflows') diff --git a/laas-fog/pharoslaas/actions/workflows/fog_captureWorkflow.yaml b/laas-fog/pharoslaas/actions/workflows/fog_captureWorkflow.yaml new file mode 100644 index 0000000..0f2fece --- /dev/null +++ b/laas-fog/pharoslaas/actions/workflows/fog_captureWorkflow.yaml @@ -0,0 +1,27 @@ +--- +chain: + - + name: "startCapture" + ref: "pharoslaas.fog_captureHost" + parameters: + host: "{{host}}" + on-success: "restartHost" + - + name: "restartHost" + ref: "pharoslaas.restartHost" + parameters: + host: "{{host}}" + on-success: "waitForCapture" + - + name: "waitForCapture" + ref: "pharoslaas.fog_waitForCapture" + parameters: + host: "{{host}}" + on-success: "waitForBoot" + + - + name: "waitForBoot" + ref: pharoslaas.waitForBoot + parameters: + host: "{{host}}" + timeout: 60 diff --git a/laas-fog/pharoslaas/actions/workflows/fog_imageWorkflow.yaml b/laas-fog/pharoslaas/actions/workflows/fog_imageWorkflow.yaml new file mode 100644 index 0000000..52eff63 --- /dev/null +++ b/laas-fog/pharoslaas/actions/workflows/fog_imageWorkflow.yaml @@ -0,0 +1,39 @@ +--- +chain: + - + name: "changeImage" + ref: "pharoslaas.fog_changeImage" + parameters: + image: "{{image}}" + host: "{{host}}" + os: "{{os}}" + on-success: "startImaging" + + - + name: "startImaging" + ref: pharoslaas.fog_startImaging + parameters: + host: "{{host}}" + on-success: "restartHost" + + - + name: "restartHost" + ref: pharoslaas.restartHost + parameters: + host: "{{host}}" + on-success: "waitForImaging" + + - + name: "waitForImaging" + ref: pharoslaas.fog_waitForImaging + parameters: + host: "{{host}}" + timeout: 180 + on-success: "waitForBoot" + + - + name: "waitForBoot" + ref: pharoslaas.waitForBoot + parameters: + host: "{{host}}" + timeout: 60 -- cgit 1.2.3-korg