diff --git a/README.md b/README.md index 5bd7f72..d0dc79c 100644 --- a/README.md +++ b/README.md @@ -7,20 +7,20 @@ Khronos is the Titan god of time and the ages, and is described as destructive a This is a listing of the "functional title" of a task group and which tasks are utilized to accomplish them: - prune exited weave containers - - `khronos:weave:prune`: Gets all the docks and enqueues a job for each. - - `khronos:weave:prune-dock`: Gets all the exited weave containers and enqueues a job for each to delete them. - - `khronos:containers:delete`: Deletes individual containers. + - `weave.prune`: Gets all the docks and enqueues a job for each. + - `weave.prune-dock`: Gets all the exited weave containers and enqueues a job for each to delete them. + - `containers.delete`: Deletes individual containers. - prune image-builder containers - - `khronos:containers:image-builder:prune`: Gets all the docks and enqueues a job for each. - - `khronos:containers:image-builder:prune-dock`: Gets all the exited image-builder containers and enqueues a job for each to delete them. - - `khronos:containers:delete`: Deletes individual containers. + - `containers.image-builder.prune`: Gets all the docks and enqueues a job for each. + - `containers.image-builder.prune-dock`: Gets all the exited image-builder containers and enqueues a job for each to delete them. + - `containers.delete`: Deletes individual containers. - prune orphan containers - - `khronos:containers:orphan:prune`: Gets all the docks and enqueues a job for each. - - `khronos:containers:orphan:prune-dock`: Gets every container on the dock and enqueues a job to check it against mongo. - - `khronos:containers:orphan:check-against-mongo`: Check container against mongo and if it doesn't exist, enqueue a job to delete it. - - `khronos:containers:remove`: Stops and deletes containers. + - `containers.orphan.prune`: Gets all the docks and enqueues a job for each. + - `containers.orphan.prune-dock`: Gets every container on the dock and enqueues a job to check it against mongo. + - `containers.orphan.check-against-mongo`: Check container against mongo and if it doesn't exist, enqueue a job to delete it. + - `containers.remove`: Stops and deletes containers. - canary tests - - `khronos:canary:build`: Rebuilds a specific canary container without cache and reports success/failure to datadog. + - `canary.build`: Rebuilds a specific canary container without cache and reports success/failure to datadog. ``` NODE_ENV=production|staging npm start diff --git a/bin/cli.js b/bin/cli.js index f655d09..8f388b0 100755 --- a/bin/cli.js +++ b/bin/cli.js @@ -2,6 +2,7 @@ 'use strict' var program = require('commander') +var joi = require('joi') main() @@ -30,29 +31,30 @@ function main () { } var username = program.username || 'guest' var password = program.password || 'guest' - - var hermesClient = require('runnable-hermes') - .hermesSingletonFactory({ - name: 'khronos', - hostname: hostname, - port: port, - username: username, - password: password, - queues: [program.queue] + var RabbitMQ = require('ponos/lib/rabbitmq') + var publisher = new RabbitMQ({ + name: 'khronos', + hostname: hostname, + port: port, + username: username, + password: password, + tasks: [ + { + name: program.queue, + jobSchema: joi.object({}).unknown() + } + ] + }) + publisher.connect() + .tap(function () { + process.stdout.write('enqueueing job... ') + return publisher.publishTask(program.queue, program.job) }) - .connect(enqueueTask) - - function enqueueTask (err) { - if (err) { throw err } - process.stdout.write('enqueueing job... ') - hermesClient.on('publish', function () { - process.stdout.write('done.\r\n') + .then(function () { console.log('enqueued the following job to ' + program.queue) console.log(program.job) - hermesClient.close() + return publisher.disconnect() }) - hermesClient.publish(program.queue, program.job) - } function parseJob (job) { if (job === '') { job = '{}' } diff --git a/index.js b/index.js index 2cab0ef..796283a 100644 --- a/index.js +++ b/index.js @@ -11,31 +11,31 @@ const events = { } const tasks = { - 'khronos:canary:build': require('tasks/canary/build'), - 'khronos:canary:failover': require('tasks/canary/failover'), - 'khronos:canary:github-branch': require('tasks/canary/github-branch'), - 'khronos:canary:log': require('tasks/canary/log'), - 'khronos:canary:network': require('tasks/canary/network/index'), - 'khronos:canary:network-ping': require('tasks/canary/network/ping'), - 'khronos:containers:delete': require('tasks/containers/delete'), - 'khronos:containers:image-builder:prune': require('tasks/image-builder/prune'), - 'khronos:containers:image-builder:prune-dock': require('tasks/image-builder/prune-dock'), - 'khronos:containers:orphan:check-against-mongo': require('tasks/containers/check-against-mongo'), - 'khronos:containers:orphan:prune': require('tasks/containers/prune-orphans'), - 'khronos:containers:orphan:prune-dock': require('tasks/containers/prune-orphans-dock'), - 'khronos:containers:remove': require('tasks/containers/remove'), - 'khronos:context-versions:check-recent-usage': require('tasks/context-versions/check-recent-usage'), - 'khronos:context-versions:prune-expired': require('tasks/context-versions/prune-expired'), - 'khronos:context-versions:remove-and-protect-instances': require('tasks/context-versions/remove-and-protect-instances'), - 'khronos:images:check-against-context-versions': require('tasks/images/check-against-context-versions'), - 'khronos:images:prune': require('tasks/images/prune'), - 'khronos:images:prune-dock': require('tasks/images/prune-dock'), - 'khronos:images:remove': require('tasks/images/remove'), - 'khronos:instances:cleanup': require('tasks/instances/cleanup'), - 'khronos:metrics:container-status': require('tasks/metrics/container-status'), - 'khronos:metrics:report-org-container-status': require('tasks/metrics/report-org-container-status'), - 'khronos:weave:prune': require('tasks/weave/prune'), - 'khronos:weave:prune-dock': require('tasks/weave/prune-dock') + 'canary.build.run': require('tasks/canary/build'), + 'canary.failover.run': require('tasks/canary/failover'), + 'canary.github-branch.run': require('tasks/canary/github-branch'), + 'canary.log.run': require('tasks/canary/log'), + 'canary.network.run': require('tasks/canary/network/index'), + 'canary.network-ping.run': require('tasks/canary/network/ping'), + 'containers.delete': require('tasks/containers/delete'), + 'containers.image-builder.prune': require('tasks/image-builder/prune'), + 'containers.image-builder.prune-dock': require('tasks/image-builder/prune-dock'), + 'containers.orphan.check-against-mongo': require('tasks/containers/check-against-mongo'), + 'containers.orphan.prune': require('tasks/containers/prune-orphans'), + 'containers.orphan.prune-dock': require('tasks/containers/prune-orphans-dock'), + 'containers.remove': require('tasks/containers/remove'), + 'context-versions.check-recent-usage': require('tasks/context-versions/check-recent-usage'), + 'context-versions.prune-expired': require('tasks/context-versions/prune-expired'), + 'context-versions.remove-and-protect-instances': require('tasks/context-versions/remove-and-protect-instances'), + 'images.check-against-context-versions': require('tasks/images/check-against-context-versions'), + 'images.prune': require('tasks/images/prune'), + 'images.prune-dock': require('tasks/images/prune-dock'), + 'images.remove': require('tasks/images/remove'), + 'instances.cleanup': require('tasks/instances/cleanup'), + 'metrics.container-status': require('tasks/metrics/container-status'), + 'metrics.report-org-container-status': require('tasks/metrics/report-org-container-status'), + 'weave.prune': require('tasks/weave/prune'), + 'weave.prune-dock': require('tasks/weave/prune-dock') } const server = new ponos.Server({ diff --git a/lib/models/rabbitmq.js b/lib/models/rabbitmq.js index 679db46..7ba2435 100644 --- a/lib/models/rabbitmq.js +++ b/lib/models/rabbitmq.js @@ -3,8 +3,18 @@ * @module lib/models/rabbitmq */ 'use strict' +const joi = require('joi') const RabbitMQ = require('ponos/lib/rabbitmq') +function generateJobDefs (tasks) { + return tasks.map(function (task) { + return { + name: task, + jobSchema: joi.object({}).unknown() + } + }) +} + /** * Rabbitmq internal singelton instance. * @type {rabbitmq} @@ -15,37 +25,37 @@ const publisher = new RabbitMQ({ port: process.env.RABBITMQ_PORT, username: process.env.RABBITMQ_USERNAME, password: process.env.RABBITMQ_PASSWORD, - events: [ + events: generateJobDefs([ 'instance.container.health-check.failed', 'instance.expired' - ], - tasks: [ - 'khronos:canary:build', - 'khronos:canary:failover', - 'khronos:canary:github-branch', - 'khronos:canary:log', - 'khronos:canary:network', - 'khronos:canary:network-ping', - 'khronos:containers:delete', - 'khronos:containers:image-builder:prune', - 'khronos:containers:image-builder:prune-dock', - 'khronos:containers:orphan:check-against-mongo', - 'khronos:containers:orphan:prune', - 'khronos:containers:orphan:prune-dock', - 'khronos:containers:remove', - 'khronos:context-versions:check-recent-usage', - 'khronos:context-versions:prune-expired', - 'khronos:context-versions:remove-and-protect-instances', - 'khronos:images:check-against-context-versions', - 'khronos:images:prune', - 'khronos:images:prune-dock', - 'khronos:images:remove', - 'khronos:instances:cleanup', - 'khronos:metrics:container-status', - 'khronos:metrics:report-org-container-status', - 'khronos:weave:prune', - 'khronos:weave:prune-dock' - ] + ]), + tasks: generateJobDefs([ + 'canary.build.run', + 'canary.failover.run', + 'canary.github-branch.run', + 'canary.log.run', + 'canary.network.run', + 'canary.network-ping.run', + 'containers.delete', + 'containers.image-builder.prune', + 'containers.image-builder.prune-dock', + 'containers.orphan.check-against-mongo', + 'containers.orphan.prune', + 'containers.orphan.prune-dock', + 'containers.remove', + 'context-versions.check-recent-usage', + 'context-versions.prune-expired', + 'context-versions.remove-and-protect-instances', + 'images.check-against-context-versions', + 'images.prune', + 'images.prune-dock', + 'images.remove', + 'instances.cleanup', + 'metrics.container-status', + 'metrics.report-org-container-status', + 'weave.prune', + 'weave.prune-dock' + ]) }) module.exports = publisher diff --git a/lib/tasks/canary/build.js b/lib/tasks/canary/build.js index 9f3e2e4..122ba3d 100644 --- a/lib/tasks/canary/build.js +++ b/lib/tasks/canary/build.js @@ -23,7 +23,7 @@ class BuildCanary extends CanaryBase { constructor (job) { super(job) this.instanceId = process.env.CANARY_REBUILD_INSTANCE_ID - this.queue = 'khronos:canary:build' + this.queue = 'canary.build' this.name = 'Build Canary' this.gauge = 'canary.build' diff --git a/lib/tasks/canary/failover.js b/lib/tasks/canary/failover.js index 6a8cd07..05bda19 100644 --- a/lib/tasks/canary/failover.js +++ b/lib/tasks/canary/failover.js @@ -30,7 +30,7 @@ module.exports = (job) => { class FailOverCanary extends CanaryBase { constructor (job) { super(job) - this.queue = 'khronos:canary:failover' + this.queue = 'canary.failover' this.name = 'FailOver Canary' this.gauge = 'canary.failover' diff --git a/lib/tasks/canary/github-branch.js b/lib/tasks/canary/github-branch.js index 3100c53..057aeae 100644 --- a/lib/tasks/canary/github-branch.js +++ b/lib/tasks/canary/github-branch.js @@ -26,7 +26,7 @@ class GithubBranchCanary extends CanaryBase { constructor (job) { super(job) this.instanceId = process.env.CANARY_GITHUB_BRANCHES_INSTANCE_ID - this.queue = 'khronos:canary:github-branch' + this.queue = 'canary.github-branch' this.name = 'Github Branch Canary' this.gauge = 'canary.github-branch' this.branchName = 'test-branch-' + (new Date().getTime()) diff --git a/lib/tasks/canary/log.js b/lib/tasks/canary/log.js index 77d27bb..f2e2daa 100644 --- a/lib/tasks/canary/log.js +++ b/lib/tasks/canary/log.js @@ -28,7 +28,7 @@ class LogCanary extends CanaryBase { constructor (job) { super(job) this.instanceId = process.env.CANARY_LOG_INSTANCE_ID - this.queue = 'khronos:canary:log' + this.queue = 'canary.log' this.name = 'Log Canary' this.gauge = 'canary.log' this.jobTimeout = 1000 * 60 diff --git a/lib/tasks/canary/network/index.js b/lib/tasks/canary/network/index.js index 3d02cf7..ef9246c 100644 --- a/lib/tasks/canary/network/index.js +++ b/lib/tasks/canary/network/index.js @@ -42,7 +42,7 @@ const containerNetworkQuery = [{ */ module.exports = () => { const log = logger.child({ - queue: 'khronos:canary:network' + queue: 'canary.network' }) return Promise.using(mongodbHelper(), (mongoClient) => { const instancesDb = mongoClient.db.collection('instances') @@ -65,7 +65,7 @@ module.exports = () => { log.trace({ network: network }, 'no ips to ping, skipping') return } - rabbitmq.publishTask('khronos:canary:network-ping', { + rabbitmq.publishTask('canary.network-ping', { targetDockerUrl: network.dockerUrl, targetIps: network.ips, targetOrg: network._id, diff --git a/lib/tasks/canary/network/ping.js b/lib/tasks/canary/network/ping.js index 3e04a2d..7462103 100644 --- a/lib/tasks/canary/network/ping.js +++ b/lib/tasks/canary/network/ping.js @@ -83,7 +83,7 @@ class NetworkOrgCanary extends CanaryBase { this.job = job this.gauge = 'canary.network-ping' this.name = 'Network Canary' - this.queue = 'khronos:canary:network-ping' + this.queue = 'canary.network-ping' this.log = this.log.child({ job: this.job, task: this.queue @@ -172,7 +172,7 @@ class NetworkOrgCanary extends CanaryBase { dockerHost: this.job.targetDockerUrl, containerId: pingContainer.id }, 'Enqueueing container delete') - const targetQueue = 'khronos:containers:delete' + const targetQueue = 'containers.delete' rabbitmq.publishTask(targetQueue, { dockerHost: this.job.targetDockerUrl, containerId: pingContainer.id diff --git a/lib/tasks/containers/check-against-mongo.js b/lib/tasks/containers/check-against-mongo.js index efabc9e..1b04ab6 100644 --- a/lib/tasks/containers/check-against-mongo.js +++ b/lib/tasks/containers/check-against-mongo.js @@ -43,7 +43,7 @@ module.exports = function (job) { if (!result || (Array.isArray(result) && result.length === 0)) { // TODO(bryan): remove the container. log.debug('Removing container') - rabbitmq.publishTask('khronos:containers:remove', job) + rabbitmq.publishTask('containers.remove', job) return assign({}, job, { containerRemoveTaskQueued: true }) } else { // it exists in mongo on an Instance, don't remove it @@ -54,8 +54,4 @@ module.exports = function (job) { }) } }) - .catch(function (err) { - log.error({ err: err }, 'Error deleting container') - throw err - }) } diff --git a/lib/tasks/containers/prune-orphans-dock.js b/lib/tasks/containers/prune-orphans-dock.js index e499575..20a532a 100644 --- a/lib/tasks/containers/prune-orphans-dock.js +++ b/lib/tasks/containers/prune-orphans-dock.js @@ -5,11 +5,9 @@ */ 'use strict' -// internal -var enqueueContainerJobsHelper = require('tasks/utils/enqueue-container-jobs') -var log = require('logger').getChild(__filename) +const enqueueContainerJobsHelper = require('tasks/utils/enqueue-container-jobs') -var IMAGE_FILTERS = [ +const IMAGE_FILTERS = [ new RegExp('^' + process.env.KHRONOS_DOCKER_REGISTRY_REGEX + '\/[0-9]+\/[A-z0-9]+:[A-z0-9]+'), /^[A-z0-9]{12}$/ // TODO(bryan): was this initially for build containers? @@ -22,14 +20,10 @@ var IMAGE_FILTERS = [ * @return {promise} Resolved when all tasks enqueued to verify containers. */ module.exports = function (job) { - var options = { + const options = { job: job, - targetQueue: 'khronos:containers:orphan:check-against-mongo', + targetQueue: 'containers.orphan.check-against-mongo', imageBlacklist: IMAGE_FILTERS } return enqueueContainerJobsHelper(options) - .catch(function (err) { - log.error({ err: err }, '.dockTask error') - throw err - }) } diff --git a/lib/tasks/containers/prune-orphans.js b/lib/tasks/containers/prune-orphans.js index 77a4f5a..f75587a 100644 --- a/lib/tasks/containers/prune-orphans.js +++ b/lib/tasks/containers/prune-orphans.js @@ -4,18 +4,12 @@ */ 'use strict' -// internal -var enqueueDockJobsHelper = require('tasks/utils/enqueue-dock-jobs') -var log = require('logger').getChild(__filename) +const enqueueDockJobsHelper = require('tasks/utils/enqueue-dock-jobs') /** - * Task that enqueues a prune-dock job for every dock in Mavis. + * Task that enqueues a prune-dock job for every dock in Swarm. * @return {promise} Resolved when all jobs have been enqueued. */ module.exports = function () { - return enqueueDockJobsHelper('khronos:containers:orphan:prune-dock') - .catch(function (err) { - log.error({ err: err }, '.task error') - throw err - }) + return enqueueDockJobsHelper('containers.orphan.prune-dock') } diff --git a/lib/tasks/context-versions/check-recent-usage.js b/lib/tasks/context-versions/check-recent-usage.js index 986c872..f85b7fd 100644 --- a/lib/tasks/context-versions/check-recent-usage.js +++ b/lib/tasks/context-versions/check-recent-usage.js @@ -6,15 +6,14 @@ 'use strict' // external -var assign = require('101/assign') -var exists = require('101/exists') -var Promise = require('bluebird') +const assign = require('101/assign') +const exists = require('101/exists') +const Promise = require('bluebird') const WorkerStopError = require('error-cat/errors/worker-stop-error') // internal -var mongodbHelper = require('tasks/utils/mongodb') +const mongodbHelper = require('tasks/utils/mongodb') const rabbitmq = require('models/rabbitmq') -var log = require('logger').getChild(__filename) module.exports = function (job) { return Promise.resolve() @@ -32,13 +31,13 @@ module.exports = function (job) { }) .then(function queryMongoForRecentUsage () { return Promise.using(mongodbHelper(), function (mongoClient) { - var twoWeeksAgo = new Date() + const twoWeeksAgo = new Date() twoWeeksAgo.setTime(job.twoWeeksAgo) - var buildQuery = { + const buildQuery = { 'build.created': { $gte: twoWeeksAgo }, contextVersions: mongoClient.newObjectID('' + job.contextVersionId) } - var instanceQuery = { + const instanceQuery = { 'contextVersion._id': mongoClient.newObjectID('' + job.contextVersionId) } return Promise.all([ @@ -48,13 +47,13 @@ module.exports = function (job) { }) }) .spread(function makeDecisionAboutUsage (buildCount, instanceCount) { - var counts = { + const counts = { buildCount: buildCount, instanceCount: instanceCount } if (!buildCount && !instanceCount) { - var nextTask = 'khronos:context-versions:remove-and-protect-instances' - var newJob = { + const nextTask = 'context-versions.remove-and-protect-instances' + const newJob = { contextVersionId: '' + job.contextVersionId } rabbitmq.publishTask(nextTask, newJob) @@ -63,8 +62,4 @@ module.exports = function (job) { return assign({}, job, counts, { toBeRemoved: false }) } }) - .catch(function (err) { - log.error({ err: err }, 'context version check recent usage error') - throw err - }) } diff --git a/lib/tasks/context-versions/deleted.js b/lib/tasks/context-versions/deleted.js index fb38f98..d3e0bbc 100644 --- a/lib/tasks/context-versions/deleted.js +++ b/lib/tasks/context-versions/deleted.js @@ -45,7 +45,7 @@ function ContextVersionDeleted (job) { .then(function () { let containerId = job.contextVersion.build.dockerContainer let dockerHost = job.contextVersion.dockerHost - let targetQueue = 'khronos:containers:remove' + let targetQueue = 'containers.remove' rabbitmq.publishTask(targetQueue, { dockerHost: dockerHost, containerId: containerId diff --git a/lib/tasks/context-versions/prune-expired.js b/lib/tasks/context-versions/prune-expired.js index 434bb10..a699260 100644 --- a/lib/tasks/context-versions/prune-expired.js +++ b/lib/tasks/context-versions/prune-expired.js @@ -6,12 +6,11 @@ 'use strict' // external -var Promise = require('bluebird') +const Promise = require('bluebird') // internal -var mongodbHelper = require('tasks/utils/mongodb') +const mongodbHelper = require('tasks/utils/mongodb') const rabbitmq = require('models/rabbitmq') -var log = require('logger').getChild(__filename) module.exports = function () { var today = new Date() @@ -35,7 +34,7 @@ module.exports = function () { }) }) .each(function enqueueJobToCheckRecentUsage (contextVersion) { - var nextTask = 'khronos:context-versions:check-recent-usage' + var nextTask = 'context-versions.check-recent-usage' var job = { contextVersionId: '' + contextVersion._id, twoWeeksAgo: twoWeeksAgo.getTime() @@ -46,8 +45,4 @@ module.exports = function () { .then(function returnNumberOfJobs (jobs) { return { numJobsEnqueued: jobs.length } }) - .catch(function (err) { - log.error({ err: err }, 'context version prune expired error') - throw err - }) } diff --git a/lib/tasks/image-builder/prune-dock.js b/lib/tasks/image-builder/prune-dock.js index 60f28fb..e16f654 100644 --- a/lib/tasks/image-builder/prune-dock.js +++ b/lib/tasks/image-builder/prune-dock.js @@ -5,14 +5,13 @@ */ 'use strict' -var Promise = require('bluebird') -var pluck = require('101/pluck') +const Promise = require('bluebird') +const pluck = require('101/pluck') // internal -var enqueueContainerJobsHelper = require('tasks/utils/enqueue-container-jobs') -var log = require('logger').getChild(__filename) -var mongodbHelper = require('tasks/utils/mongodb') +const enqueueContainerJobsHelper = require('tasks/utils/enqueue-container-jobs') +const mongodbHelper = require('tasks/utils/mongodb') -var IMAGE_FILTERS = [ +const IMAGE_FILTERS = [ new RegExp(process.env.KHRONOS_IMAGE_BUILDER_CONTAINER_TAG) ] @@ -23,14 +22,14 @@ var IMAGE_FILTERS = [ * @return {promise} Resolved when all tasks enqueued to remove containers. */ module.exports = function (job) { - var options = { + const options = { imageBlacklist: IMAGE_FILTERS.slice(), // clones the array job: job, - targetQueue: 'khronos:containers:delete', + targetQueue: 'containers.delete', containerIdWhitelist: [] } return Promise.using(mongodbHelper(), function (mongoClient) { - var instanceQuery = { + const instanceQuery = { 'contextVersion.dockerHost': job.dockerHost } return mongoClient.fetchInstancesAsync( @@ -42,9 +41,5 @@ module.exports = function (job) { options.containerIdWhitelist = dockerContainerIds return enqueueContainerJobsHelper(options) }) - .catch(function (err) { - log.error({ err: err }, '.dockTask error') - throw err - }) }) } diff --git a/lib/tasks/image-builder/prune.js b/lib/tasks/image-builder/prune.js index ac44cb0..59af5d6 100644 --- a/lib/tasks/image-builder/prune.js +++ b/lib/tasks/image-builder/prune.js @@ -4,9 +4,7 @@ */ 'use strict' -// internal -var enqueueDockJobsHelper = require('tasks/utils/enqueue-dock-jobs') -var log = require('logger').getChild(__filename) +const enqueueDockJobsHelper = require('tasks/utils/enqueue-dock-jobs') /** * image-builder prune task enqueues a job for each dock to clean the @@ -14,9 +12,5 @@ var log = require('logger').getChild(__filename) * @return {promise} Resolved when all jobs have been enqueued. */ module.exports = function () { - return enqueueDockJobsHelper('khronos:containers:image-builder:prune-dock') - .catch(function (err) { - log.error({ err: err }, '.task error') - throw err - }) + return enqueueDockJobsHelper('containers.image-builder.prune-dock') } diff --git a/lib/tasks/images/check-against-context-versions.js b/lib/tasks/images/check-against-context-versions.js index a92265a..00ebdb8 100644 --- a/lib/tasks/images/check-against-context-versions.js +++ b/lib/tasks/images/check-against-context-versions.js @@ -56,7 +56,7 @@ module.exports = function (job) { }) }) .then(function removeIfNonExistant (contextVersionCount) { - var targetQueue = 'khronos:images:remove' + var targetQueue = 'images.remove' if (!contextVersionCount) { rabbitmq.publishTask(targetQueue, job) return assign({}, job, { imageRemoveTaskQueued: true }) diff --git a/lib/tasks/images/prune-dock.js b/lib/tasks/images/prune-dock.js index 887b701..e6f0e9b 100644 --- a/lib/tasks/images/prune-dock.js +++ b/lib/tasks/images/prune-dock.js @@ -51,7 +51,7 @@ module.exports = function (job) { taglessImages, function (image) { var newJob = assign({}, job, { imageId: image.Id }) - return rabbitmq.publishTask('khronos:images:remove', newJob) + return rabbitmq.publishTask('images.remove', newJob) } ), // enqueue tasks for each image for more checking @@ -59,7 +59,7 @@ module.exports = function (job) { images, function (image) { var newJob = assign({}, job, { imageId: image }) - return rabbitmq.publishTask('khronos:images:check-against-context-versions', newJob) + return rabbitmq.publishTask('images.check-against-context-versions', newJob) } ) ]) @@ -72,7 +72,7 @@ module.exports = function (job) { } }) .catch(Swarm.InvalidHostError, function (err) { - // If we get this type of error from Mavis, we cannot retry, but it's not + // If we get this type of error from Swarm, we cannot retry, but it's not // a fatal error, there's just nothing more to do. log.warn({ err: err, job: job }, 'Prune Dock of Images Invalid Dock') return { diff --git a/lib/tasks/images/prune.js b/lib/tasks/images/prune.js index 9e0e1a8..4063742 100644 --- a/lib/tasks/images/prune.js +++ b/lib/tasks/images/prune.js @@ -4,18 +4,12 @@ */ 'use strict' -// internal -var enqueueDockJobsHelper = require('tasks/utils/enqueue-dock-jobs') -var log = require('logger').getChild(__filename) +const enqueueDockJobsHelper = require('tasks/utils/enqueue-dock-jobs') /** * Enqueues a task for each dock to clean orphan images off of it. * @return {promise} Resolved when all jobs have been enqueued. */ module.exports = function () { - return enqueueDockJobsHelper('khronos:images:prune-dock') - .catch(function (err) { - log.error({ err: err }, 'images:prune task error') - throw err - }) + return enqueueDockJobsHelper('images.prune-dock') } diff --git a/lib/tasks/images/remove.js b/lib/tasks/images/remove.js index 705618a..5c6e00f 100644 --- a/lib/tasks/images/remove.js +++ b/lib/tasks/images/remove.js @@ -47,7 +47,7 @@ module.exports = function (job) { } }) .catch(Swarm.InvalidHostError, function (err) { - // If we get this type of error from Mavis, we cannot retry, but it's not + // If we get this type of error from Swarm, we cannot retry, but it's not // a fatal error, there's just nothing more to do. log.warn({ err: err, job: job }, 'Remove Image Job Invalid Host') return { diff --git a/lib/tasks/metrics/container-status.js b/lib/tasks/metrics/container-status.js index 6c6fcc1..a10b3da 100644 --- a/lib/tasks/metrics/container-status.js +++ b/lib/tasks/metrics/container-status.js @@ -35,7 +35,7 @@ module.exports = function () { instances: orgStats.instances, totalInstances: orgStats.totalServers } - rabbitmq.publishTask('khronos:metrics:report-org-container-status', newJob) + rabbitmq.publishTask('metrics.report-org-container-status', newJob) }) }) } diff --git a/lib/tasks/utils/enqueue-container-jobs.js b/lib/tasks/utils/enqueue-container-jobs.js index 84369bc..eaeace2 100644 --- a/lib/tasks/utils/enqueue-container-jobs.js +++ b/lib/tasks/utils/enqueue-container-jobs.js @@ -86,7 +86,7 @@ module.exports = function (options) { // NOTE: this doesn't catch - that is left up to the task definition }) .catch(Swarm.InvalidHostError, function (err) { - // If we get this type of error from Mavis, we cannot retry, but it's not + // If we get this type of error from Swarm, we cannot retry, but it's not // a fatal error, there's just nothing more to do. log.warn({ err: err, job: job }, 'Enqueue Container Jobs Invalid Host') return 0 diff --git a/lib/tasks/utils/enqueue-dock-jobs.js b/lib/tasks/utils/enqueue-dock-jobs.js index 72d3246..1b459c8 100644 --- a/lib/tasks/utils/enqueue-dock-jobs.js +++ b/lib/tasks/utils/enqueue-dock-jobs.js @@ -11,7 +11,7 @@ var Swarm = require('models/swarm') /** * Enqueue Dock Jobs Helper. This helper generates a promise that, given a - * targetQueue string value, gets all the avilable docks from Mavis and enquques + * targetQueue string value, gets all the avilable docks from Swarm and enquques * a job `{ dockerHost: host }` to the targetQueue for each host. This helper * does not provide any error catching; that is left up to the implemented task. * @param {string} targetQueue Queue to which to place jobs. diff --git a/lib/tasks/weave/prune-dock.js b/lib/tasks/weave/prune-dock.js index 1debcc3..2667e44 100644 --- a/lib/tasks/weave/prune-dock.js +++ b/lib/tasks/weave/prune-dock.js @@ -5,10 +5,9 @@ 'use strict' // internal -var enqueueContainerJobsHelper = require('tasks/utils/enqueue-container-jobs') -var log = require('logger').getChild(__filename) +const enqueueContainerJobsHelper = require('tasks/utils/enqueue-container-jobs') -var WEAVE_CONTAINER_NAMES = [ +const WEAVE_CONTAINER_NAMES = [ /zettio\/weavetools/, /weaveworks\/weave/, /weaveworks\/weaveexec/ @@ -23,14 +22,10 @@ var WEAVE_CONTAINER_NAMES = [ * have been enqueued for them. */ module.exports = function (job) { - var options = { + const options = { job: job, - targetQueue: 'khronos:containers:delete', + targetQueue: 'containers.delete', imageBlacklist: WEAVE_CONTAINER_NAMES } return enqueueContainerJobsHelper(options) - .catch(function (err) { - log.error({ err: err }, '.dockTask error') - throw err - }) } diff --git a/lib/tasks/weave/prune.js b/lib/tasks/weave/prune.js index c0b65cd..c14be20 100644 --- a/lib/tasks/weave/prune.js +++ b/lib/tasks/weave/prune.js @@ -5,18 +5,12 @@ */ 'use strict' -// internal -var enqueueDockJobsHelper = require('tasks/utils/enqueue-dock-jobs') -var log = require('logger').getChild(__filename) +const enqueueDockJobsHelper = require('tasks/utils/enqueue-dock-jobs') /** - * Task that enqueues a prune-dock job for every dock in Mavis. + * Task that enqueues a prune-dock job for every dock in Swarm. * @return {promise} Resolved when all jobs have been enqueued. */ module.exports = function () { - return enqueueDockJobsHelper('khronos:weave:prune-dock') - .catch(function (err) { - log.error({ err: err }, '.task error') - throw err - }) + return enqueueDockJobsHelper('weave.prune-dock') } diff --git a/package.json b/package.json index 14092db..33cc020 100644 --- a/package.json +++ b/package.json @@ -51,10 +51,10 @@ "@runnable/api-client": "^7.5.0", "@runnable/loki": "^3.0.0", "async": "^1.4.2", - "bluebird": "^3.0.5", + "bluebird": "3.4.6", "bunyan": "^1.4.0", "commander": "^2.8.1", - "continuation-local-storage": "^3.1.7", + "continuation-local-storage": "3.2.0", "docker-stream-cleanser": "^0.3.0", "error-cat": "^3.0.0", "error-subclass": "^1.0.2", @@ -67,9 +67,8 @@ "moment": "^2.14.1", "mongodb": "2.1.7", "monitor-dog": "^1.5.0", - "ponos": "^4.6.0", + "ponos": "5.3.0", "request": "^2.69.0", - "runnable-hermes": "6.6.0", "uuid": "^2.0.1", "ws": "^1.0.1" }, diff --git a/test/functional/prune-exited-weave-containers.js b/test/functional/prune-exited-weave-containers.js index 5b6218c..6743d5b 100644 --- a/test/functional/prune-exited-weave-containers.js +++ b/test/functional/prune-exited-weave-containers.js @@ -28,13 +28,12 @@ const docker = new Docker({ describe('Prune Exited Weave Containers', function () { var tasks = { - 'khronos:containers:delete': require('../../lib/tasks/containers/delete'), - 'khronos:weave:prune-dock': require('../../lib/tasks/weave/prune-dock'), - 'khronos:weave:prune': require('../../lib/tasks/weave/prune') + 'containers.delete': require('../../lib/tasks/containers/delete'), + 'weave.prune-dock': require('../../lib/tasks/weave/prune-dock'), + 'weave.prune': require('../../lib/tasks/weave/prune') } var dockerMockServer var workerServer - before(function (done) { dockerMockServer = dockerMock.listen(process.env.KHRONOS_DOCKER_PORT, done) }) @@ -55,21 +54,22 @@ describe('Prune Exited Weave Containers', function () { }) beforeEach(function () { sinon.spy(Container.prototype, 'remove') - sinon.spy(tasks, 'khronos:weave:prune-dock') - sinon.spy(tasks, 'khronos:containers:delete') + sinon.spy(tasks, 'weave.prune-dock') + sinon.spy(tasks, 'containers.delete') workerServer = new ponos.Server({ + name: process.env.APP_NAME, log: require('logger').child({ module: 'ponos' }), tasks: tasks }) - return assert.isFulfilled(Promise.all([rabbitmq.connect(), workerServer.start()])) + return rabbitmq.connect().then(workerServer.start.bind(workerServer)) }) afterEach(function () { return assert.isFulfilled(Promise.all([rabbitmq.disconnect(), workerServer.stop()])) }) afterEach(function (done) { Container.prototype.remove.restore() - tasks['khronos:weave:prune-dock'].restore() - tasks['khronos:containers:delete'].restore() + tasks['weave.prune-dock'].restore() + tasks['containers.delete'].restore() dockerFactory.deleteAllImagesAndContainers(docker, done) }) afterEach(function () { @@ -81,11 +81,11 @@ describe('Prune Exited Weave Containers', function () { describe('unpopulated dock', function () { it('should run successfully', function (done) { - rabbitmq.publishTask('khronos:weave:prune', {}) + rabbitmq.publishTask('weave.prune', {}) async.doUntil( function (cb) { setTimeout(cb, 100) }, function () { - return tasks['khronos:weave:prune-dock'].callCount === 1 + return tasks['weave.prune-dock'].callCount === 1 }, function (err) { if (err) { return done(err) } @@ -99,11 +99,11 @@ describe('Prune Exited Weave Containers', function () { beforeEach(dockerFactory.createRandomContainers.bind(null, docker, 5)) it('should run successfully with no weave containers', function (done) { - rabbitmq.publishTask('khronos:weave:prune', {}) + rabbitmq.publishTask('weave.prune', {}) async.doUntil( function (cb) { setTimeout(cb, 100) }, function () { - return tasks['khronos:weave:prune-dock'].callCount === 1 + return tasks['weave.prune-dock'].callCount === 1 }, function (err) { if (err) { return done(err) } @@ -139,11 +139,11 @@ describe('Prune Exited Weave Containers', function () { ]) }) it('should run successfully', function (done) { - rabbitmq.publishTask('khronos:weave:prune', {}) + rabbitmq.publishTask('weave.prune', {}) async.doUntil( function (cb) { setTimeout(cb, 100) }, function () { - return tasks['khronos:weave:prune-dock'].callCount === 2 + return tasks['weave.prune-dock'].callCount === 2 }, function (err) { if (err) { return done(err) } @@ -163,14 +163,14 @@ describe('Prune Exited Weave Containers', function () { beforeEach(dockerFactory.createWeaveContainers.bind(null, docker, 2)) it('should only remove dead weave containers', function (done) { - rabbitmq.publishTask('khronos:weave:prune', {}) + rabbitmq.publishTask('weave.prune', {}) async.doUntil( function (cb) { setTimeout(cb, 100) }, function () { return Container.prototype.remove.callCount === 2 }, function (err) { if (err) { return done(err) } - expect(tasks['khronos:weave:prune-dock'].callCount).to.equal(1) - expect(tasks['khronos:containers:delete'].callCount).to.equal(2) + expect(tasks['weave.prune-dock'].callCount).to.equal(1) + expect(tasks['containers.delete'].callCount).to.equal(2) expect(Container.prototype.remove.callCount).to.equal(2) dockerFactory.listContainersAndAssert( docker, diff --git a/test/functional/prune-expired-context-versions.js b/test/functional/prune-expired-context-versions.js index 47cceb0..f46fceb 100644 --- a/test/functional/prune-expired-context-versions.js +++ b/test/functional/prune-expired-context-versions.js @@ -21,18 +21,17 @@ const assert = chai.assert describe('Prune Expired Context Versions', function () { var tasks = { - 'khronos:context-versions:prune-expired': require('tasks/context-versions/prune-expired'), - 'khronos:context-versions:check-recent-usage': require('tasks/context-versions/check-recent-usage'), - 'khronos:context-versions:remove-and-protect-instances': require('tasks/context-versions/remove-and-protect-instances') + 'context-versions.prune-expired': require('tasks/context-versions/prune-expired'), + 'context-versions.check-recent-usage': require('tasks/context-versions/check-recent-usage'), + 'context-versions.remove-and-protect-instances': require('tasks/context-versions/remove-and-protect-instances') } var workerServer - beforeEach(function () { - sinon.spy(tasks, 'khronos:context-versions:prune-expired') - sinon.spy(tasks, 'khronos:context-versions:check-recent-usage') - sinon.spy(tasks, 'khronos:context-versions:remove-and-protect-instances') + sinon.spy(tasks, 'context-versions.prune-expired') + sinon.spy(tasks, 'context-versions.check-recent-usage') + sinon.spy(tasks, 'context-versions.remove-and-protect-instances') const opts = { - name: 'khronos', + name: process.env.APP_NAME, hostname: process.env.RABBITMQ_HOSTNAME, port: process.env.RABBITMQ_PORT, username: process.env.RABBITMQ_USERNAME || 'guest', @@ -40,15 +39,15 @@ describe('Prune Expired Context Versions', function () { tasks: tasks } workerServer = new ponos.Server(opts) - return assert.isFulfilled(Promise.all([rabbitmq.connect(), workerServer.start()])) + return rabbitmq.connect().then(workerServer.start.bind(workerServer)) }) afterEach(function () { return assert.isFulfilled(Promise.all([rabbitmq.disconnect(), workerServer.stop()])) }) afterEach(function () { - tasks['khronos:context-versions:prune-expired'].restore() - tasks['khronos:context-versions:check-recent-usage'].restore() - tasks['khronos:context-versions:remove-and-protect-instances'].restore() + tasks['context-versions.prune-expired'].restore() + tasks['context-versions.check-recent-usage'].restore() + tasks['context-versions.remove-and-protect-instances'].restore() }) afterEach(function (done) { async.parallel([ @@ -60,16 +59,16 @@ describe('Prune Expired Context Versions', function () { describe('with no context version to prune', function () { it('should run successfully', function (done) { - rabbitmq.publishTask('khronos:context-versions:prune-expired', {}) + rabbitmq.publishTask('context-versions.prune-expired', {}) async.until( function () { - return tasks['khronos:context-versions:prune-expired'].callCount === 1 + return tasks['context-versions.prune-expired'].callCount === 1 }, function (cb) { setTimeout(cb, 100) }, function (err) { if (err) { return done(err) } - sinon.assert.notCalled(tasks['khronos:context-versions:check-recent-usage']) - sinon.assert.notCalled(tasks['khronos:context-versions:remove-and-protect-instances']) + sinon.assert.notCalled(tasks['context-versions.check-recent-usage']) + sinon.assert.notCalled(tasks['context-versions.remove-and-protect-instances']) done() }) }) @@ -90,15 +89,15 @@ describe('Prune Expired Context Versions', function () { }) it('should not remove current context versions', function (done) { - rabbitmq.publishTask('khronos:context-versions:prune-expired', {}) + rabbitmq.publishTask('context-versions.prune-expired', {}) async.doUntil( function (cb) { setTimeout(cb, 100) }, function () { - return tasks['khronos:context-versions:prune-expired'].callCount === 1 + return tasks['context-versions.prune-expired'].callCount === 1 }, function (err) { if (err) { return done(err) } - sinon.assert.notCalled(tasks['khronos:context-versions:check-recent-usage']) + sinon.assert.notCalled(tasks['context-versions.check-recent-usage']) setTimeout(done, 100) }) }) @@ -121,19 +120,19 @@ describe('Prune Expired Context Versions', function () { }) it('should remove old context versions (not attached to anything)', function (done) { - rabbitmq.publishTask('khronos:context-versions:prune-expired', {}) + rabbitmq.publishTask('context-versions.prune-expired', {}) async.doUntil( function (cb) { setTimeout(cb, 100) }, function () { - return tasks['khronos:context-versions:remove-and-protect-instances'].calledOnce + return tasks['context-versions.remove-and-protect-instances'].calledOnce }, function (err) { if (err) { return done(err) } mongodbFactory.getContextVersions(function (err, cvs) { if (err) { return done(err) } assert.lengthOf(cvs, 1) - sinon.assert.calledOnce(tasks['khronos:context-versions:check-recent-usage']) - sinon.assert.calledOnce(tasks['khronos:context-versions:remove-and-protect-instances']) + sinon.assert.calledOnce(tasks['context-versions.check-recent-usage']) + sinon.assert.calledOnce(tasks['context-versions.remove-and-protect-instances']) setTimeout(done, 100) }) }) @@ -166,11 +165,11 @@ describe('Prune Expired Context Versions', function () { }) it('should not delete them', function (done) { - rabbitmq.publishTask('khronos:context-versions:prune-expired', {}) + rabbitmq.publishTask('context-versions.prune-expired', {}) async.doUntil( function (cb) { setTimeout(cb, 100) }, function () { - return tasks['khronos:context-versions:remove-and-protect-instances'].calledOnce + return tasks['context-versions.remove-and-protect-instances'].calledOnce }, function (err) { if (err) { return done(err) } @@ -178,8 +177,8 @@ describe('Prune Expired Context Versions', function () { if (err) { return done(err) } assert.lengthOf(cvs, 2) assert.include(cvs.map(pluck('_id.toString()')), '' + savedContextVersion._id) - sinon.assert.calledTwice(tasks['khronos:context-versions:check-recent-usage']) - sinon.assert.calledOnce(tasks['khronos:context-versions:remove-and-protect-instances']) + sinon.assert.calledTwice(tasks['context-versions.check-recent-usage']) + sinon.assert.calledOnce(tasks['context-versions.remove-and-protect-instances']) setTimeout(done, 100) }) }) @@ -215,11 +214,11 @@ describe('Prune Expired Context Versions', function () { }) it('should not delete them', function (done) { - rabbitmq.publishTask('khronos:context-versions:prune-expired', {}) + rabbitmq.publishTask('context-versions.prune-expired', {}) async.doUntil( function (cb) { setTimeout(cb, 100) }, function () { - return tasks['khronos:context-versions:remove-and-protect-instances'].calledOnce + return tasks['context-versions.remove-and-protect-instances'].calledOnce }, function (err) { if (err) { return done(err) } @@ -227,8 +226,8 @@ describe('Prune Expired Context Versions', function () { if (err) { return done(err) } assert.lengthOf(cvs, 2) assert.include(cvs.map(pluck('_id.toString()')), '' + savedContextVersion._id) - sinon.assert.calledTwice(tasks['khronos:context-versions:check-recent-usage']) - sinon.assert.calledOnce(tasks['khronos:context-versions:remove-and-protect-instances']) + sinon.assert.calledTwice(tasks['context-versions.check-recent-usage']) + sinon.assert.calledOnce(tasks['context-versions.remove-and-protect-instances']) setTimeout(done, 100) }) }) @@ -272,11 +271,11 @@ describe('Prune Expired Context Versions', function () { }) it('should not delete them', function (done) { - rabbitmq.publishTask('khronos:context-versions:prune-expired', {}) + rabbitmq.publishTask('context-versions.prune-expired', {}) async.doUntil( function (cb) { setTimeout(cb, 100) }, function () { - return tasks['khronos:context-versions:remove-and-protect-instances'].calledTwice && + return tasks['context-versions.remove-and-protect-instances'].calledTwice && mongodb.prototype.countInstances.callCount === 4 && mongodb.prototype.insertContextVersions.calledOnce }, @@ -286,8 +285,8 @@ describe('Prune Expired Context Versions', function () { if (err) { return done(err) } assert.lengthOf(cvs, 2) assert.include(cvs.map(pluck('_id.toString()')), '' + savedContextVersion._id) - sinon.assert.calledTwice(tasks['khronos:context-versions:check-recent-usage']) - sinon.assert.calledTwice(tasks['khronos:context-versions:remove-and-protect-instances']) + sinon.assert.calledTwice(tasks['context-versions.check-recent-usage']) + sinon.assert.calledTwice(tasks['context-versions.remove-and-protect-instances']) sinon.assert.calledOnce(mongodb.prototype.insertContextVersions) setTimeout(done, 100) }) diff --git a/test/functional/prune-image-builder-containers.js b/test/functional/prune-image-builder-containers.js index ef00252..c326c4b 100644 --- a/test/functional/prune-image-builder-containers.js +++ b/test/functional/prune-image-builder-containers.js @@ -29,9 +29,9 @@ const docker = new Docker({ describe('Prune Exited Image-Builder Containers', function () { var tasks = { - 'khronos:containers:delete': require('../../lib/tasks/containers/delete'), - 'khronos:containers:image-builder:prune': require('../../lib/tasks/image-builder/prune'), - 'khronos:containers:image-builder:prune-dock': require('../../lib/tasks/image-builder/prune-dock') + 'containers.delete': require('../../lib/tasks/containers/delete'), + 'containers.image-builder.prune': require('../../lib/tasks/image-builder/prune'), + 'containers.image-builder.prune-dock': require('../../lib/tasks/image-builder/prune-dock') } var dockerMockServer var workerServer @@ -54,12 +54,13 @@ describe('Prune Exited Image-Builder Containers', function () { Value: 'localhost:5454' } ]) }) + beforeEach(function () { sinon.spy(Container.prototype, 'remove') - sinon.spy(tasks, 'khronos:containers:image-builder:prune-dock') - sinon.spy(tasks, 'khronos:containers:delete') + sinon.spy(tasks, 'containers.image-builder.prune-dock') + sinon.spy(tasks, 'containers.delete') const opts = { - name: 'khronos', + name: process.env.APP_NAME, hostname: process.env.RABBITMQ_HOSTNAME, port: process.env.RABBITMQ_PORT, username: process.env.RABBITMQ_USERNAME || 'guest', @@ -67,15 +68,15 @@ describe('Prune Exited Image-Builder Containers', function () { tasks: tasks } workerServer = new ponos.Server(opts) - return assert.isFulfilled(Promise.all([rabbitmq.connect(), workerServer.start()])) + return rabbitmq.connect().then(workerServer.start.bind(workerServer)) }) afterEach(function () { return assert.isFulfilled(Promise.all([rabbitmq.disconnect(), workerServer.stop()])) }) afterEach(function (done) { Container.prototype.remove.restore() - tasks['khronos:containers:image-builder:prune-dock'].restore() - tasks['khronos:containers:delete'].restore() + tasks['containers.image-builder.prune-dock'].restore() + tasks['containers.delete'].restore() dockerFactory.deleteAllImagesAndContainers(docker, done) }) afterEach(function () { @@ -94,11 +95,11 @@ describe('Prune Exited Image-Builder Containers', function () { describe('unpopulated dock', function () { it('should run successfully', function (done) { - rabbitmq.publishTask('khronos:containers:image-builder:prune', {}) + rabbitmq.publishTask('containers.image-builder.prune', {}) async.until( function () { var pruneDockTaskCallCount = - tasks['khronos:containers:image-builder:prune-dock'].callCount + tasks['containers.image-builder.prune-dock'].callCount return pruneDockTaskCallCount === 1 }, function (cb) { setTimeout(cb, 100) }, @@ -116,12 +117,12 @@ describe('Prune Exited Image-Builder Containers', function () { }) it('should run with no iamge-builder containers', function (done) { - rabbitmq.publishTask('khronos:containers:image-builder:prune', {}) + rabbitmq.publishTask('containers.image-builder.prune', {}) async.doUntil( function (cb) { setTimeout(cb, 100) }, function () { var pruneDockTaskCallCount = - tasks['khronos:containers:image-builder:prune-dock'].callCount + tasks['containers.image-builder.prune-dock'].callCount return pruneDockTaskCallCount === 1 }, function (err) { @@ -159,12 +160,12 @@ describe('Prune Exited Image-Builder Containers', function () { ]) }) it('should run successfully', function (done) { - rabbitmq.publishTask('khronos:containers:image-builder:prune', {}) + rabbitmq.publishTask('containers.image-builder.prune', {}) async.doUntil( function (cb) { setTimeout(cb, 100) }, function () { var pruneDockTaskCallCount = - tasks['khronos:containers:image-builder:prune-dock'].callCount + tasks['containers.image-builder.prune-dock'].callCount return pruneDockTaskCallCount === 2 }, function (err) { @@ -219,7 +220,7 @@ describe('Prune Exited Image-Builder Containers', function () { it('should only remove dead image-builder containers', function (done) { rabbitmq.publishTask( - 'khronos:containers:image-builder:prune', + 'containers.image-builder.prune', {}) async.doUntil( function (cb) { setTimeout(cb, 100) }, @@ -229,9 +230,9 @@ describe('Prune Exited Image-Builder Containers', function () { function (err) { if (err) { return done(err) } var pruneDockTaskCallCount = - tasks['khronos:containers:image-builder:prune-dock'].callCount + tasks['containers.image-builder.prune-dock'].callCount expect(pruneDockTaskCallCount).to.equal(1) - expect(tasks['khronos:containers:delete'].callCount).to.equal(1) + expect(tasks['containers.delete'].callCount).to.equal(1) // 6 containers for: 5 user containers + 1 build container (1 was removed) dockerFactory.listContainersAndAssert( docker, diff --git a/test/functional/prune-orphan-containers.js b/test/functional/prune-orphan-containers.js index 4f0abb3..5f89b7c 100644 --- a/test/functional/prune-orphan-containers.js +++ b/test/functional/prune-orphan-containers.js @@ -28,10 +28,10 @@ const docker = new Docker({ describe('Prune Orphaned Containers', function () { var tasks = { - 'khronos:containers:orphan:prune': require('../../lib/tasks/containers/prune-orphans'), - 'khronos:containers:orphan:prune-dock': require('../../lib/tasks/containers/prune-orphans-dock'), - 'khronos:containers:orphan:check-against-mongo': require('../../lib/tasks/containers/check-against-mongo'), - 'khronos:containers:remove': require('../../lib/tasks/containers/remove') + 'containers.orphan.prune': require('../../lib/tasks/containers/prune-orphans'), + 'containers.orphan.prune-dock': require('../../lib/tasks/containers/prune-orphans-dock'), + 'containers.orphan.check-against-mongo': require('../../lib/tasks/containers/check-against-mongo'), + 'containers.remove': require('../../lib/tasks/containers/remove') } var dockerMockServer var workerServer @@ -59,11 +59,11 @@ describe('Prune Orphaned Containers', function () { }) beforeEach(function () { sinon.spy(Container.prototype, 'remove') - sinon.spy(tasks, 'khronos:containers:orphan:prune-dock') - sinon.spy(tasks, 'khronos:containers:orphan:check-against-mongo') - sinon.spy(tasks, 'khronos:containers:remove') + sinon.spy(tasks, 'containers.orphan.prune-dock') + sinon.spy(tasks, 'containers.orphan.check-against-mongo') + sinon.spy(tasks, 'containers.remove') const opts = { - name: 'khronos', + name: process.env.APP_NAME, hostname: process.env.RABBITMQ_HOSTNAME, port: process.env.RABBITMQ_PORT, username: process.env.RABBITMQ_USERNAME || 'guest', @@ -71,16 +71,16 @@ describe('Prune Orphaned Containers', function () { tasks: tasks } workerServer = new ponos.Server(opts) - return assert.isFulfilled(Promise.all([rabbitmq.connect(), workerServer.start()])) + return rabbitmq.connect().then(workerServer.start.bind(workerServer)) }) afterEach(function () { return assert.isFulfilled(Promise.all([rabbitmq.disconnect(), workerServer.stop()])) }) afterEach(function (done) { Container.prototype.remove.restore() - tasks['khronos:containers:orphan:prune-dock'].restore() - tasks['khronos:containers:orphan:check-against-mongo'].restore() - tasks['khronos:containers:remove'].restore() + tasks['containers.orphan.prune-dock'].restore() + tasks['containers.orphan.check-against-mongo'].restore() + tasks['containers.remove'].restore() async.parallel([ dockerFactory.deleteAllImagesAndContainers.bind(dockerFactory, docker), mongodbFactory.removeAllInstances.bind(mongodbFactory) @@ -93,14 +93,13 @@ describe('Prune Orphaned Containers', function () { process.env.KHRONOS_MONGO = prevMongo dockerMockServer.close(done) }) - describe('unpopulated dock', function () { it('should run successfully', function (done) { - rabbitmq.publishTask('khronos:containers:orphan:prune', {}) + rabbitmq.publishTask('containers.orphan.prune', {}) async.doUntil( function (cb) { setTimeout(cb, 100) }, function () { - return tasks['khronos:containers:orphan:prune-dock'].callCount === 1 + return tasks['containers.orphan.prune-dock'].callCount === 1 }, function (err) { if (err) { return done(err) } @@ -124,18 +123,18 @@ describe('Prune Orphaned Containers', function () { }) it('should run successfully with no orphans', function (done) { - rabbitmq.publishTask('khronos:containers:orphan:prune', {}) + rabbitmq.publishTask('containers.orphan.prune', {}) async.doUntil( function (cb) { setTimeout(cb, 100) }, function () { var mongoCheckCount = - tasks['khronos:containers:orphan:check-against-mongo'].callCount + tasks['containers.orphan.check-against-mongo'].callCount return mongoCheckCount === 5 }, function (err) { if (err) { return done(err) } var pruneDockCount = - tasks['khronos:containers:orphan:prune-dock'].callCount + tasks['containers.orphan.prune-dock'].callCount expect(pruneDockCount).to.equal(1) expect(Container.prototype.remove.callCount).to.equal(0) dockerFactory.listContainersAndAssert( @@ -154,15 +153,15 @@ describe('Prune Orphaned Containers', function () { mongodbFactory.removeInstaceByQuery(rmQuery, cb) }, function (cb) { - rabbitmq.publishTask('khronos:containers:orphan:prune', {}) + rabbitmq.publishTask('containers.orphan.prune', {}) async.doUntil( function (cb) { setTimeout(cb, 100) }, function () { return Container.prototype.remove.callCount === 1 }, function (err) { if (err) { return cb(err) } - expect(tasks['khronos:containers:orphan:prune-dock'].calledOnce) + expect(tasks['containers.orphan.prune-dock'].calledOnce) .to.equal(true) - expect(tasks['khronos:containers:remove'].callCount).to.equal(1) + expect(tasks['containers.remove'].callCount).to.equal(1) expect(Container.prototype.remove.callCount).to.equal(1) dockerFactory.listContainersAndAssert( docker, diff --git a/test/functional/prune-orphan-images.js b/test/functional/prune-orphan-images.js index bfa82ae..11270b5 100644 --- a/test/functional/prune-orphan-images.js +++ b/test/functional/prune-orphan-images.js @@ -28,10 +28,10 @@ const docker = new Docker({ describe('Prune Orphan Images', function () { var tasks = { - 'khronos:images:remove': require('../../lib/tasks/images/remove'), - 'khronos:images:prune': require('../../lib/tasks/images/prune'), - 'khronos:images:prune-dock': require('../../lib/tasks/images/prune-dock'), - 'khronos:images:check-against-context-versions': + 'images.remove': require('../../lib/tasks/images/remove'), + 'images.prune': require('../../lib/tasks/images/prune'), + 'images.prune-dock': require('../../lib/tasks/images/prune-dock'), + 'images.check-against-context-versions': require('../../lib/tasks/images/check-against-context-versions') } var dockerMockServer @@ -61,7 +61,7 @@ describe('Prune Orphan Images', function () { // spy on all tasks Object.keys(tasks).forEach(function (t) { sinon.spy(tasks, t) }) const opts = { - name: 'khronos', + name: process.env.APP_NAME, hostname: process.env.RABBITMQ_HOSTNAME, port: process.env.RABBITMQ_PORT, username: process.env.RABBITMQ_USERNAME || 'guest', @@ -69,7 +69,7 @@ describe('Prune Orphan Images', function () { tasks: tasks } workerServer = new ponos.Server(opts) - return assert.isFulfilled(Promise.all([rabbitmq.connect(), workerServer.start()])) + return rabbitmq.connect().then(workerServer.start.bind(workerServer)) }) afterEach(function () { return assert.isFulfilled(Promise.all([rabbitmq.disconnect(), workerServer.stop()])) @@ -93,11 +93,11 @@ describe('Prune Orphan Images', function () { describe('unpopulated dock', function () { it('should run successfully', function (done) { - rabbitmq.publishTask('khronos:images:prune', {}) + rabbitmq.publishTask('images.prune', {}) async.doUntil( function (cb) { setTimeout(cb, 100) }, function () { - return tasks['khronos:images:prune-dock'].calledOnce && + return tasks['images.prune-dock'].calledOnce && Docker.prototype.listImages.calledOnce }, function (err) { @@ -120,11 +120,11 @@ describe('Prune Orphan Images', function () { }) it('should remove orphaned images', function (done) { - rabbitmq.publishTask('khronos:images:prune', {}) + rabbitmq.publishTask('images.prune', {}) async.doUntil( function (cb) { setTimeout(cb, 100) }, function () { - return tasks['khronos:images:remove'].calledOnce && + return tasks['images.remove'].calledOnce && Image.prototype.remove.calledOnce }, function (err) { @@ -152,11 +152,11 @@ describe('Prune Orphan Images', function () { }) it('should remove orphaned images, not new ones', function (done) { - rabbitmq.publishTask('khronos:images:prune', {}) + rabbitmq.publishTask('images.prune', {}) async.doUntil( function (cb) { setTimeout(cb, 100) }, function () { - return tasks['khronos:images:remove'].calledOnce && + return tasks['images.remove'].calledOnce && Image.prototype.remove.calledOnce }, function (err) { @@ -188,11 +188,11 @@ describe('Prune Orphan Images', function () { }) it('should not remove non-orphaned images', function (done) { - rabbitmq.publishTask('khronos:images:prune', {}) + rabbitmq.publishTask('images.prune', {}) async.doUntil( function (cb) { setTimeout(cb, 100) }, function () { - return tasks['khronos:images:remove'].calledOnce && + return tasks['images.remove'].calledOnce && Image.prototype.remove.calledOnce }, function (err) { diff --git a/test/unit/tasks/canary/network/ping.js b/test/unit/tasks/canary/network/ping.js index 576979c..181b6c9 100644 --- a/test/unit/tasks/canary/network/ping.js +++ b/test/unit/tasks/canary/network/ping.js @@ -303,7 +303,7 @@ describe('Network Ping Canary', () => { sinon.assert.calledOnce(rabbitmq.publishTask) sinon.assert.calledWith( rabbitmq.publishTask, - 'khronos:containers:delete', + 'containers.delete', { dockerHost: mock.job.targetDockerUrl, containerId: mock.container.id diff --git a/test/unit/tasks/containers/check-against-mongo.js b/test/unit/tasks/containers/check-against-mongo.js index 93e551f..38a82b1 100644 --- a/test/unit/tasks/containers/check-against-mongo.js +++ b/test/unit/tasks/containers/check-against-mongo.js @@ -99,7 +99,7 @@ describe('Check Container Against Mongo Task', function () { sinon.assert.calledOnce(rabbitmq.publishTask) sinon.assert.calledWithExactly( rabbitmq.publishTask, - 'khronos:containers:remove', + 'containers.remove', testJob ) assert.deepEqual(result, { diff --git a/test/unit/tasks/containers/prune-orphans-dock.js b/test/unit/tasks/containers/prune-orphans-dock.js index be38719..b853e74 100644 --- a/test/unit/tasks/containers/prune-orphans-dock.js +++ b/test/unit/tasks/containers/prune-orphans-dock.js @@ -108,7 +108,7 @@ describe('Prune Orphans Dock Task', function () { sinon.assert.calledOnce(rabbitmq.publishTask) sinon.assert.calledWithExactly( rabbitmq.publishTask, - 'khronos:containers:orphan:check-against-mongo', + 'containers.orphan.check-against-mongo', { dockerHost: 'http://example.com', containerId: 4 @@ -145,7 +145,7 @@ describe('Prune Orphans Dock Task', function () { sinon.assert.calledTwice(rabbitmq.publishTask) sinon.assert.calledWithExactly( rabbitmq.publishTask, - 'khronos:containers:orphan:check-against-mongo', + 'containers.orphan.check-against-mongo', { dockerHost: 'http://example.com', containerId: 4 @@ -153,7 +153,7 @@ describe('Prune Orphans Dock Task', function () { ) sinon.assert.calledWithExactly( rabbitmq.publishTask, - 'khronos:containers:orphan:check-against-mongo', + 'containers.orphan.check-against-mongo', { dockerHost: 'http://example.com', containerId: 5 diff --git a/test/unit/tasks/containers/prune-orphans.js b/test/unit/tasks/containers/prune-orphans.js index d3b718e..087598c 100644 --- a/test/unit/tasks/containers/prune-orphans.js +++ b/test/unit/tasks/containers/prune-orphans.js @@ -54,7 +54,7 @@ describe('Prune Orphans Task', function () { sinon.assert.calledOnce(rabbitmq.publishTask) sinon.assert.calledWithExactly( rabbitmq.publishTask, - 'khronos:containers:orphan:prune-dock', + 'containers.orphan.prune-dock', { dockerHost: 'http://example.com' } ) }) @@ -76,12 +76,12 @@ describe('Prune Orphans Task', function () { sinon.assert.calledTwice(rabbitmq.publishTask) sinon.assert.calledWithExactly( rabbitmq.publishTask, - 'khronos:containers:orphan:prune-dock', + 'containers.orphan.prune-dock', { dockerHost: 'http://example1.com' } ) sinon.assert.calledWithExactly( rabbitmq.publishTask, - 'khronos:containers:orphan:prune-dock', + 'containers.orphan.prune-dock', { dockerHost: 'http://example2.com' } ) }) diff --git a/test/unit/tasks/containers/remove.js b/test/unit/tasks/containers/remove.js index 5f5e4c3..ca0fae9 100644 --- a/test/unit/tasks/containers/remove.js +++ b/test/unit/tasks/containers/remove.js @@ -53,12 +53,12 @@ describe('Remove Container Task', function () { }) }) - describe('Mavis Error', function () { + describe('Swarm Error', function () { beforeEach(function () { Swarm.prototype.checkHostExists.throws(new Swarm.InvalidHostError()) }) - it('should return an empty data if dock not in mavis', function () { + it('should return an empty data if dock not in Swarm', function () { return assert.isFulfilled(removeContainer(testJob)) .then(function (data) { sinon.assert.calledOnce(Swarm.prototype.checkHostExists) diff --git a/test/unit/tasks/context-versions/check-recent-usage.js b/test/unit/tasks/context-versions/check-recent-usage.js index 83a4c2e..e6652cb 100644 --- a/test/unit/tasks/context-versions/check-recent-usage.js +++ b/test/unit/tasks/context-versions/check-recent-usage.js @@ -159,7 +159,7 @@ describe('context versions check recent usage task', function () { sinon.assert.calledOnce(rabbitmq.publishTask) sinon.assert.calledWithExactly( rabbitmq.publishTask, - 'khronos:context-versions:remove-and-protect-instances', + 'context-versions.remove-and-protect-instances', { contextVersionId: 'deadbeefdeadbeefdeadbeef' } ) }) diff --git a/test/unit/tasks/context-versions/deleted.js b/test/unit/tasks/context-versions/deleted.js index e89cc8d..a9a219c 100644 --- a/test/unit/tasks/context-versions/deleted.js +++ b/test/unit/tasks/context-versions/deleted.js @@ -78,7 +78,7 @@ describe('context-version.deleted', function () { sinon.assert.calledOnce(rabbitmq.publishTask) sinon.assert.calledWithExactly( rabbitmq.publishTask, - 'khronos:containers:remove', + 'containers.remove', { containerId: containerId, dockerHost: dockerHost diff --git a/test/unit/tasks/context-versions/prune-expired.js b/test/unit/tasks/context-versions/prune-expired.js index 31012c2..ad27594 100644 --- a/test/unit/tasks/context-versions/prune-expired.js +++ b/test/unit/tasks/context-versions/prune-expired.js @@ -101,7 +101,7 @@ describe('context versions prune expired task', function () { sinon.assert.calledOnce(rabbitmq.publishTask) sinon.assert.calledWith( rabbitmq.publishTask, - 'khronos:context-versions:check-recent-usage', + 'context-versions.check-recent-usage', { contextVersionId: 'deadbeef', twoWeeksAgo: sinon.match.number @@ -136,7 +136,7 @@ describe('context versions prune expired task', function () { sinon.assert.calledTwice(rabbitmq.publishTask) sinon.assert.calledWith( rabbitmq.publishTask, - 'khronos:context-versions:check-recent-usage', + 'context-versions.check-recent-usage', { contextVersionId: 'deadbeef', twoWeeksAgo: sinon.match.number @@ -144,7 +144,7 @@ describe('context versions prune expired task', function () { ) sinon.assert.calledWith( rabbitmq.publishTask, - 'khronos:context-versions:check-recent-usage', + 'context-versions.check-recent-usage', { contextVersionId: 'beefdead', twoWeeksAgo: sinon.match.number diff --git a/test/unit/tasks/image-builder/prune-dock.js b/test/unit/tasks/image-builder/prune-dock.js index 75f6ff5..61c60e3 100644 --- a/test/unit/tasks/image-builder/prune-dock.js +++ b/test/unit/tasks/image-builder/prune-dock.js @@ -111,7 +111,7 @@ describe('image-builder prune dock task', function () { sinon.assert.calledOnce(rabbitmq.publishTask) sinon.assert.calledWithExactly( rabbitmq.publishTask, - 'khronos:containers:delete', + 'containers.delete', { dockerHost: 'http://example.com', containerId: 4 @@ -153,7 +153,7 @@ describe('image-builder prune dock task', function () { sinon.assert.calledTwice(rabbitmq.publishTask) sinon.assert.calledWithExactly( rabbitmq.publishTask, - 'khronos:containers:delete', + 'containers.delete', { dockerHost: 'http://example.com', containerId: '4' @@ -161,7 +161,7 @@ describe('image-builder prune dock task', function () { ) sinon.assert.calledWithExactly( rabbitmq.publishTask, - 'khronos:containers:delete', + 'containers.delete', { dockerHost: 'http://example.com', containerId: '5' @@ -206,7 +206,7 @@ describe('image-builder prune dock task', function () { sinon.assert.calledOnce(rabbitmq.publishTask) sinon.assert.calledWithExactly( rabbitmq.publishTask, - 'khronos:containers:delete', + 'containers.delete', { dockerHost: 'http://example.com', containerId: '5' diff --git a/test/unit/tasks/image-builder/prune.js b/test/unit/tasks/image-builder/prune.js index a16a875..91223f8 100644 --- a/test/unit/tasks/image-builder/prune.js +++ b/test/unit/tasks/image-builder/prune.js @@ -54,7 +54,7 @@ describe('image-builder prune task', function () { sinon.assert.calledOnce(rabbitmq.publishTask) sinon.assert.calledWithExactly( rabbitmq.publishTask, - 'khronos:containers:image-builder:prune-dock', + 'containers.image-builder.prune-dock', { dockerHost: 'http://example.com' } ) }) @@ -76,17 +76,17 @@ describe('image-builder prune task', function () { sinon.assert.calledTwice(rabbitmq.publishTask) sinon.assert.calledWithExactly( rabbitmq.publishTask, - 'khronos:containers:image-builder:prune-dock', + 'containers.image-builder.prune-dock', { dockerHost: 'http://example1.com' } ) sinon.assert.calledWithExactly( rabbitmq.publishTask, - 'khronos:containers:image-builder:prune-dock', + 'containers.image-builder.prune-dock', { dockerHost: 'http://example1.com' } ) assert.equal( rabbitmq.publishTask.secondCall.args[0], - 'khronos:containers:image-builder:prune-dock', + 'containers.image-builder.prune-dock', { dockerHost: 'http://example2.com' } ) }) @@ -95,7 +95,7 @@ describe('image-builder prune task', function () { }) describe('failure', function () { - describe('of mavis', function () { + describe('of swarm', function () { beforeEach(function () { Swarm.prototype.getSwarmHosts.throws(new Error('foobar')) }) diff --git a/test/unit/tasks/images/check-against-context-versions.js b/test/unit/tasks/images/check-against-context-versions.js index 21eb26f..1e79db4 100644 --- a/test/unit/tasks/images/check-against-context-versions.js +++ b/test/unit/tasks/images/check-against-context-versions.js @@ -138,7 +138,7 @@ describe('Image Check Against Context Version', function () { sinon.assert.calledOnce(rabbitmq.publishTask) sinon.assert.calledWithExactly( rabbitmq.publishTask, - 'khronos:images:remove', + 'images.remove', testJob ) assert.deepEqual(result, { diff --git a/test/unit/tasks/images/prune-dock.js b/test/unit/tasks/images/prune-dock.js index 40ae862..6e6b1d9 100644 --- a/test/unit/tasks/images/prune-dock.js +++ b/test/unit/tasks/images/prune-dock.js @@ -60,12 +60,12 @@ describe('images prune dock task', function () { }) }) - describe('Mavis Error', function () { + describe('Swarm Error', function () { beforeEach(function () { Swarm.prototype.checkHostExists.throws(new Swarm.InvalidHostError()) }) - it('should return an empty data if dock not in mavis', function () { + it('should return an empty data if dock not in Swarm', function () { return assert.isFulfilled(imagesPruneDock({ dockerHost: 'http://example.com' })) .then(function (result) { sinon.assert.calledOnce(Swarm.prototype.checkHostExists) @@ -113,7 +113,7 @@ describe('images prune dock task', function () { sinon.assert.calledOnce(rabbitmq.publishTask) sinon.assert.calledWithExactly( rabbitmq.publishTask, - 'khronos:images:check-against-context-versions', + 'images.check-against-context-versions', { dockerHost: 'http://example.com', imageId: 'foo/bar' @@ -142,7 +142,7 @@ describe('images prune dock task', function () { sinon.assert.calledOnce(rabbitmq.publishTask) sinon.assert.calledWithExactly( rabbitmq.publishTask, - 'khronos:images:remove', + 'images.remove', { dockerHost: 'http://example.com', imageId: 4 @@ -177,7 +177,7 @@ describe('images prune dock task', function () { sinon.assert.callCount(rabbitmq.publishTask, 4) sinon.assert.calledWithExactly( rabbitmq.publishTask, - 'khronos:images:remove', + 'images.remove', { dockerHost: 'http://example.com', imageId: 4 @@ -185,7 +185,7 @@ describe('images prune dock task', function () { ) sinon.assert.calledWithExactly( rabbitmq.publishTask, - 'khronos:images:remove', + 'images.remove', { dockerHost: 'http://example.com', imageId: 5 @@ -193,7 +193,7 @@ describe('images prune dock task', function () { ) sinon.assert.calledWithExactly( rabbitmq.publishTask, - 'khronos:images:check-against-context-versions', + 'images.check-against-context-versions', { dockerHost: 'http://example.com', imageId: 'foo/bar' @@ -201,7 +201,7 @@ describe('images prune dock task', function () { ) sinon.assert.calledWithExactly( rabbitmq.publishTask, - 'khronos:images:check-against-context-versions', + 'images.check-against-context-versions', { dockerHost: 'http://example.com', imageId: 'bar/baz' diff --git a/test/unit/tasks/images/prune.js b/test/unit/tasks/images/prune.js index 4a76aef..97b1f93 100644 --- a/test/unit/tasks/images/prune.js +++ b/test/unit/tasks/images/prune.js @@ -54,7 +54,7 @@ describe('image prune task', function () { sinon.assert.calledOnce(rabbitmq.publishTask) sinon.assert.calledWithExactly( rabbitmq.publishTask, - 'khronos:images:prune-dock', + 'images.prune-dock', { dockerHost: 'http://example.com' } ) }) @@ -76,12 +76,12 @@ describe('image prune task', function () { sinon.assert.calledTwice(rabbitmq.publishTask) sinon.assert.calledWithExactly( rabbitmq.publishTask, - 'khronos:images:prune-dock', + 'images.prune-dock', { dockerHost: 'http://example1.com' } ) sinon.assert.calledWithExactly( rabbitmq.publishTask, - 'khronos:images:prune-dock', + 'images.prune-dock', { dockerHost: 'http://example2.com' } ) }) @@ -90,7 +90,7 @@ describe('image prune task', function () { }) describe('failure', function () { - describe('of mavis', function () { + describe('of Swarm', function () { beforeEach(function () { Swarm.prototype.getSwarmHosts.throws(new Error('foobar')) }) diff --git a/test/unit/tasks/images/remove.js b/test/unit/tasks/images/remove.js index 02e74c5..bf5be98 100644 --- a/test/unit/tasks/images/remove.js +++ b/test/unit/tasks/images/remove.js @@ -50,12 +50,12 @@ describe('Remove Image Task', function () { ) }) - describe('Mavis Error', function () { + describe('Swarm Error', function () { beforeEach(function () { Swarm.prototype.checkHostExists.throws(new Swarm.InvalidHostError()) }) - it('should return an empty data if dock not in mavis', function () { + it('should return an empty data if dock not in Swarm', function () { return assert.isFulfilled(removeImage(testJob)) .then(function (result) { sinon.assert.calledOnce(Swarm.prototype.checkHostExists) diff --git a/test/unit/tasks/instances/cleanup.js b/test/unit/tasks/instances/cleanup.js index 429bb72..0406907 100644 --- a/test/unit/tasks/instances/cleanup.js +++ b/test/unit/tasks/instances/cleanup.js @@ -17,7 +17,7 @@ const MongoDB = require('models/mongodb') // internal (being tested) var CleanupInstances = require('tasks/instances/cleanup') -describe('khronos:instances:cleanup', function () { +describe('instances.cleanup', function () { var mockInstances beforeEach(function () { diff --git a/test/unit/tasks/utils/enqueue-dock-jobs.js b/test/unit/tasks/utils/enqueue-dock-jobs.js index a68508a..a445427 100644 --- a/test/unit/tasks/utils/enqueue-dock-jobs.js +++ b/test/unit/tasks/utils/enqueue-dock-jobs.js @@ -55,7 +55,7 @@ describe('Enqueue Dock Jobs Helper', function () { }) }) - it('should throw if mavis errors', function () { + it('should throw if swarm errors', function () { Swarm.prototype.getSwarmHosts.throws(new Error('foobar')) return assert.isRejected( enqueueDockJobsHelper('queue:one'), diff --git a/test/unit/tasks/weave/prune.js b/test/unit/tasks/weave/prune.js index 9a471e4..65d5fcf 100644 --- a/test/unit/tasks/weave/prune.js +++ b/test/unit/tasks/weave/prune.js @@ -54,7 +54,7 @@ describe('prune exited weave containers', function () { sinon.assert.calledOnce(rabbitmq.publishTask) sinon.assert.calledWithExactly( rabbitmq.publishTask, - 'khronos:weave:prune-dock', + 'weave.prune-dock', { dockerHost: 'http://example.com' } ) }) @@ -76,12 +76,12 @@ describe('prune exited weave containers', function () { sinon.assert.calledTwice(rabbitmq.publishTask) sinon.assert.calledWithExactly( rabbitmq.publishTask, - 'khronos:weave:prune-dock', + 'weave.prune-dock', { dockerHost: 'http://example1.com' } ) sinon.assert.calledWithExactly( rabbitmq.publishTask, - 'khronos:weave:prune-dock', + 'weave.prune-dock', { dockerHost: 'http://example2.com' } ) }) @@ -90,7 +90,7 @@ describe('prune exited weave containers', function () { }) describe('failure', function () { - describe('of mavis', function () { + describe('of Swarm', function () { beforeEach(function () { Swarm.prototype.getSwarmHosts.throws(new Error('foobar')) }) @@ -103,7 +103,6 @@ describe('prune exited weave containers', function () { ) .then(function () { sinon.assert.notCalled(rabbitmq.publishTask) - sinon.assert.calledOnce(Bunyan.prototype.error) }) }) })