Skip to content

Instantly share code, notes, and snippets.

@ytjohn
Created February 24, 2017 02:21
Show Gist options
  • Select an option

  • Save ytjohn/8295741740407fcb7306fd124d237af7 to your computer and use it in GitHub Desktop.

Select an option

Save ytjohn/8295741740407fcb7306fd124d237af7 to your computer and use it in GitHub Desktop.
modified secure drive erase with delay option
// Copyright 2016, EMC, Inc.
'use strict';
module.exports = {
friendlyName: 'Secure Erase Drive',
injectableName: 'Graph.Drive.SecureErase',
options: {
'bootstrap-ubuntu': {
overlayfs: "common/secure.erase.overlay.cpio.gz",
triggerGroup: 'secureErase'
},
'delay-option': {
"delay": 30000
},
'drive-secure-erase': {
eraseSettings: null
},
'secure-erase-logs-fetch': {
playbook: "/opt/rackhd/ansible/site.yml",
vars: {
metallica_role: "eraselogsfetch",
ansible_ssh_user: "monorail",
ansible_ssh_pass: "monorail"
}
},
'finish-bootstrap-trigger': {
triggerGroup: 'secureErase'
}
},
tasks: [
{
label: 'set-boot-pxe',
taskName: 'Task.Obm.Node.PxeBoot',
ignoreFailure: true
},
{
label: 'reboot',
taskName: 'Task.Obm.Node.Reboot',
waitOn: {
'set-boot-pxe': 'finished'
}
},
{
label: 'bootstrap-ubuntu',
taskName: 'Task.Linux.Bootstrap.Ubuntu',
waitOn: {
'reboot': 'succeeded'
}
},
{
label: 'delay-option',
taskName: 'Task.noop',
waitOn: {
'reboot': 'succeeded'
}
},
{
label: 'drive-secure-erase',
taskName: 'Task.Drive.SecureErase',
waitOn: {
'delay-option': 'succeeded'
}
},
{
label: 'secure-erase-logs-fetch',
taskName: 'Task.Base.Ansible.PostInstall',
waitOn: {
'drive-secure-erase': 'finished'
}
},
{
label: 'catalog-megaraid',
taskName: 'Task.Catalog.megaraid',
waitOn: {
'drive-secure-erase': 'succeeded',
'secure-erase-logs-fetch': 'succeeded'
},
ignoreFailure: true
},
{
label: 'catalog-driveid',
taskName: 'Task.Catalog.Drive.Id',
waitOn: {
'catalog-megaraid': 'finished'
},
ignoreFailure: true
},
{
label: 'shell-reboot',
taskName: 'Task.ProcShellReboot',
waitOn: {
'catalog-driveid': 'finished'
}
},
{
label: 'finish-bootstrap-trigger',
taskName: 'Task.Trigger.Send.Finish',
waitOn: {
'catalog-driveid': 'finished'
}
}
]
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment