Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 14 additions & 5 deletions lib/task-data/base-tasks/analyze-os-repo.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,20 @@ module.exports = {
friendlyName: 'Analyze OS Repository',
injectableName: 'Task.Base.Os.Analyze.Repo',
runJob: 'Job.Os.Analyze.Repo',
requiredOptions: [
'osName',
'repo',
'version'
],
optionsSchema: {
properties: {
version: {
'$ref': 'types-installos.json#/definitions/Version'
},
repo: {
'$ref': 'types-installos.json#/definitions/Repo'
},
osName: {
'enum': ['ESXi']
}
},
required: ['osName', 'repo', 'version']
},
requiredProperties: {
},
properties: {
Expand Down
13 changes: 10 additions & 3 deletions lib/task-data/base-tasks/boot-profile.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,16 @@ module.exports = {
friendlyName: 'Base Boot Profile',
injectableName: 'Task.Base.BootProfile',
runJob: 'Job.BootProfile',
requiredOptions: [
'profile'
],
optionsSchema: {
properties: {
profile: {
description: 'The pxe profile script filename',
type: 'string',
minLength: 1
}
},
required: ['profile']
},
requiredProperties: {},
properties: {}
};
12 changes: 9 additions & 3 deletions lib/task-data/base-tasks/condition.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,15 @@ module.exports = {
friendlyName: 'Evaluate Condition',
injectableName: 'Task.Base.Evaluate.Condition',
runJob: 'Job.Evaluate.Condition',
requiredOptions: [
"when"
],
optionsSchema: {
properties: {
when: {
description: 'The condition value that to be evaluated. Only string "true" means condition meets', //jshint ignore: line
type: 'string'
}
},
required: ['when']
},
requiredProperties: {},
properties: {}
};
4 changes: 1 addition & 3 deletions lib/task-data/base-tasks/get-catalog-values.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,7 @@ module.exports = {
friendlyName: "Get Catalog Values",
injectableName: "Task.Base.Get.Catalog.Values",
runJob: "Job.Get.Catalog.Values",
requiredOptions: [
'requestedData'
],
optionsSchema: 'get-catalog-values.json',
requiredProperties: {},
properties: {}
};
8 changes: 2 additions & 6 deletions lib/task-data/base-tasks/install-os.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,10 @@ module.exports = {
friendlyName: 'Install OS',
injectableName: 'Task.Base.Os.Install',
runJob: 'Job.Os.Install',
requiredOptions: [
'profile'
],
requiredProperties: {
},
properties: {
os: {
type: 'install'
}
}
},
requiredProperties: {}
};
4 changes: 1 addition & 3 deletions lib/task-data/base-tasks/ipmi-cataloger.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,7 @@ module.exports = {
friendlyName: 'IPMI Cataloger',
injectableName: 'Task.Base.Ipmi.Catalog',
runJob: 'Job.LocalIpmi.Catalog',
requiredOptions: [
'commands'
],
optionsSchema: 'linux-command.json',
requiredProperties: {
},
properties: {
Expand Down
4 changes: 1 addition & 3 deletions lib/task-data/base-tasks/linux-cataloger.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,7 @@ module.exports = {
friendlyName: 'Linux Cataloger',
injectableName: 'Task.Base.Linux.Catalog',
runJob: 'Job.Linux.Catalog',
requiredOptions: [
'commands'
],
optionsSchema: 'linux-command.json',
requiredProperties: {
'os.linux.type': 'microkernel'
},
Expand Down
4 changes: 1 addition & 3 deletions lib/task-data/base-tasks/linux-commands.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,7 @@ module.exports = {
friendlyName: 'Linux Commands',
injectableName: 'Task.Base.Linux.Commands',
runJob: 'Job.Linux.Commands',
requiredOptions: [
'commands'
],
optionsSchema: 'linux-command.json',
requiredProperties: {},
properties: {
commands: {}
Expand Down
4 changes: 1 addition & 3 deletions lib/task-data/base-tasks/local-catalog.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,7 @@ module.exports = {
friendlyName: 'Local Catalog Job',
injectableName: 'Task.Base.Local.Catalog',
runJob: 'Job.Local.Catalog',
requiredOptions: [
'commands'
],
optionsSchema: 'linux-command.json',
requiredProperties: {
},
properties: {
Expand Down
2 changes: 1 addition & 1 deletion lib/task-data/base-tasks/message-cache.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ module.exports = {
friendlyName: 'Message Cache',
injectableName: 'Task.Base.Message.Cache',
runJob: 'Job.Message.Cache',
requiredOptions: [],
optionsSchema: {},
requiredProperties: {},
properties: {}
};
23 changes: 18 additions & 5 deletions lib/task-data/base-tasks/noop-task.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,24 @@ module.exports = {
friendlyName: 'base-noop',
injectableName: 'Task.Base.noop',
runJob: 'Job.noop',
requiredOptions: [
'option1',
'option2',
'option3',
],
optionsSchema: {
properties: {
delay: {
description: 'Specify the time span that this task will be finished after given time, in milliseconds', //jshint ignore: line
type: 'integer',
minimum: 0
},
option1: {
description: 'A placeholder testing option #1'
},
option2: {
description: 'A placeholder testing option #2'
},
options3: {
description: 'A placeholder testing option #3'
}
}
},
requiredProperties: {},
properties: {
noop: {
Expand Down
40 changes: 37 additions & 3 deletions lib/task-data/base-tasks/obm.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,43 @@ module.exports = {
friendlyName: 'Node Obm',
injectableName: 'Task.Base.Obm.Node',
runJob: 'Job.Obm.Node',
requiredOptions: [
'action'
],
optionsSchema: {
"properties": {
"action": {
"enum": [
"clearSEL",
"identifyOff",
"identifyOn",
"identifyBlink",
"mcResetCold",
"NMI",
"powerButton",
"powerOff",
"powerOn",
"powerStatus",
"reboot",
"reset",
"setBootPxe",
"softReset"
]
},
"obmService": {
"enum": [
"amt-obm-service",
"apc-obm-service",
"ipmi-obm-service",
"noop-obm-service",
"panduit-obm-service",
"raritan-obm-service",
"redfish-obm-service",
"servertech-obm-service",
"vbox-obm-service",
"vmrun-obm-service"
]
},
},
"required": ["action"]
},
requiredProperties: {},
properties: {
power: {}
Expand Down
19 changes: 15 additions & 4 deletions lib/task-data/base-tasks/provide-catalog-data.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,21 @@ module.exports = {
friendlyName: 'Provide Catalog Data Values',
injectableName: 'Task.Base.Catalogs.ProvideValue',
runJob: 'Job.Catalogs.ProvideData',
requiredOptions: [
'source',
'path'
],
optionsSchema: {
properties: {
source: {
description: 'The name of catalog source',
type: 'string',
minLength: 1
},
path: {
description: 'The json path for the catalog data',
type: 'string',
minLength: 1
}
},
required: ['source', 'path']
},
requiredProperties: {},
properties: {
context: {}
Expand Down
13 changes: 10 additions & 3 deletions lib/task-data/base-tasks/wait-for-completion.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,16 @@ module.exports = {
friendlyName: 'Base Completion URI Trigger',
injectableName: 'Task.Base.Wait.Completion.Uri',
runJob: 'Job.Wait.Completion.Uri',
requiredOptions: [
'completionUri'
],
optionsSchema: {
properties: {
completionUri: {
type: 'string',
description: 'The url pattern that indicates the wait uri task has finsihed',
minLength: 1
}
},
required: [ 'completionUri' ]
},
requiredProperties: {},
properties: {}
};
26 changes: 0 additions & 26 deletions lib/task-data/schemas/analyze-os-repo.json

This file was deleted.

32 changes: 11 additions & 21 deletions lib/task-data/schemas/boot-livecd.json
Original file line number Diff line number Diff line change
@@ -1,25 +1,15 @@
{
"$schema": "rackhd-task-schema.json",
"copyright": "Copyright 2016, EMC, Inc.",
"title": "Boot LiveCD",
"description": "Bootup to LiveCD",
"describeJob": "Job.Os.Install",
"allOf": [
{ "$ref": "common-task-options.json#/definitions/Options" },
{
"type": "object",
"properties": {
"version": {
"$ref": "install-os-types.json#/definitions/Version"
},
"repo": {
"$ref": "install-os-types.json#/definitions/Repo"
},
"profile": {
"$ref": "install-os-types.json#/definitions/Profile"
}
},
"required": ["version", "repo", "profile"]
"properties": {
"version": {
"$ref": "types-installos.json#/definitions/Version"
},
"repo": {
"$ref": "types-installos.json#/definitions/Repo"
},
"profile": {
"$ref": "types-installos.json#/definitions/Profile"
}
]
},
"required": ["version", "repo", "profile"]
}
20 changes: 5 additions & 15 deletions lib/task-data/schemas/catalog-raid.json
Original file line number Diff line number Diff line change
@@ -1,19 +1,9 @@
{
"$schema": "rackhd-task-schema.json",
"copyright": "Copyright 2016, EMC, Inc.",
"title": "Catalog RAID data",
"description": "Collect catalog data about RAID in microkernel",
"describeJob": "Job.Linux.Catalog",
"allOf": [
{ "$ref": "linux-catalog.json" },
{
"type": "object",
"properties": {
"adapter": {
"$ref": "flash-megaraid.json#/definitions/Adapter"
}
},
"required": ["adapter"]
"properties": {
"adapter": {
"$ref": "flash-megaraid.json#/definitions/Adapter"
}
]
},
"required": ["adapter"]
}
16 changes: 7 additions & 9 deletions lib/task-data/schemas/common-task-options.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,16 +16,14 @@
"$ref": "#/definitions/Timeout"
}
}
}
},
"properties": {
"_taskTimeout": {
"$ref": "#/definitions/Timeout"
},
"Options": {
"properties": {
"_timeout": {
"$ref": "#/definitions/Timeout"
},
"schedulerOverrides": {
"$ref": "#/definitions/SchedulerOverrides"
}
}
"schedulerOverrides": {
"$ref": "#/definitions/SchedulerOverrides"
}
}
}
Loading