rax-maas / dreadnot Goto Github PK
View Code? Open in Web Editor NEWdeploy without dread
License: Apache License 2.0
deploy without dread
License: Apache License 2.0
We hardcode the way we construct github URls from a stack. Currently, we have ele.js
, noit.js
and chef.js
stacks which map nicely to github.com/racker/{ELE,CHEF,NOIT}.git
We want to be able to have a test.js
stack or dev.js
stack that relies on a github repository that has nothing to do with test.git
or dev.git
.
Dreadnot should add an option to specify the repository in the stack config and prefer that over github.com/racker/FOO.git
Currently, Dreadnot wraps the knife
command to query Chef-Server to get values like the array of IPs to use for a given step.
We should tweak Dreadnot to return hostname / FQDNs instead of IP address. This way, when we ssh $(ip) $(cmd)
, we'll be doing a DNS lookup.
I tried applying #137 manually, but it didn't appear to make a difference. CC @racker/rackspacemonitoringbombardiers
Having a webhook to hit that starts a deploy would be really helpful in getting to a more continuous deployment workflow.
For example - what servers am I going to be deploying to if I choose 'misc'?
Could be a tooltip or small list under the name...
For debugging, it would be useful to have a dry-run, where Dreadnot would output all the tasks and commands it would run, without actually exec
ing anything.
It could grab the shell commands it would run and confirm the file mode was compatible to be executed. (owned by the dreadnot
user, etc).
Following your Readme instructions
npm install dreadnot -g
Fails
npm ERR! error installing [email protected]
npm ERR! error rolling back [email protected] Error: UNKNOWN, unknown error '/usr/local/lib/node_modules/dreadnot'
npm ERR! Unsupported
npm ERR! Not compatible with your version of node/npm: [email protected]
npm ERR! Required: {"node":">= 0.4.1 < 0.5.0"}
npm ERR! Actual: {"npm":"1.1.0-beta-10","node":"0.6.7"}
npm ERR!
npm ERR! System Linux 3.0.4-linode38
npm ERR! command "node" "/usr/local/bin/npm" "install" "dreadnot" "-g"
npm ERR! cwd /usr/local/src
npm ERR! node -v v0.6.7
npm ERR! npm -v 1.1.0-beta-10
npm ERR! code ENOTSUP
npm ERR! message Unsupported
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! /usr/local/src/npm-debug.log
npm not ok
I also have the debug log file posted here: http://66.228.54.189/npm-debug.txt
After setting the below as the deploy warning, the irc bot crashed and dreadnot returned me to /warning
with no css.
Be sure to leave the following sha1s in staging until 2/14: 3847282d3274d79eb80bf728ce6eb0f5f16e0295 8bd8efc8301cd7527e4285aea43667582ccacf99 75734eb573a1d12c4c99023b0c9a040233fbe75d 4f991b5a25312d5eecaf34b623de90e93f7df694
Create a top level button for a Stack, Deploy all regions. Have a drop down with 'pause times' in it. Initial options are 5 minutes, 30 minutes, 1 hour, 1 day. Later we can make more complex scheduling.
When this button is pressed, save out a json file for this stack.
Start the first region. Keep track of the deployment like normal.
When it finishes, and it is part of a global rolling deployment, start a timer for the next region.
On startup, read the json in, look for an incomplete global rollout, continue it.
https://github.com/rebeccahughes/dreadnot
13:23:44 <russell_h> someone with commit access to Dreadnot should check this out: https://github.com/rebeccahughes/dreadnot
13:23:59 <russell_h> looks like she's got some decent improvements
If a stack: {"webapp": {}}
is missings its corresponding stacks/webapp.js
file, dreadnot crashes and is usuable.
A better failure would be to list all the valid stack configs, and show an error message that 1 or more stacks are misconfigured.
There are cases when a 'forced' deploy might be useful, which sidesteps verification steps ( https://github.com/racker/dn-stacks/pull/120 and https://github.com/racker/dn-stacks/pull/105 ) but still onlines the datacenter (assuming other deploy tasks worked like running chef-client on each node.
This would let us push out emergency fixes while ele
was in a compromised state.
If a deployment job "hangs", there doesn't seem to be a way to recover other than restarting the process.
20:23:48 <jguice> | wish I could link to a particular clickable error-line in dreadnot
It would be nice to be able to have anchor links to errors in a given Dreadnot deploy.
Create constants for nagios "magic numbers" as suggested in #52. magic numbers can be found at: http://sourceforge.net/p/nagios/nagios/ci/master/tree/include/common.h
constants would be defined in lib/util/nagios.js
When markdown (and html?) is in warning message, the irc bot crashes.
I think we should add a 'deploy_error' to the targets of a stack.
This would be treated like a normal stack, but only ran if a deployment failed. it would be handed information about the failure (as much as possible).
This would let people rollback or do other processes automatically.
Hi
I need some help in using the open source tool "dreadnot". I downloaded the tool . My goal is to use dreadnot for automatic deployment of software, configuration, test.
If that's possible with dreadnot - I need to know the steps to set up the same .
Where do I click to see the documentation for the tool? ( User manual, Installation guide etc )
Thanks
PR
Our formatted Chef outputs in color, which looks like garbage in Dreadnot:
It should use a library to parse them and apply the right color.
Worst case, we could strip things out
If a deploy goes badly, we need an 'undo' option.
You can view a region (that has many deploys) in a stack but you cannot view a stack (that has many regions). ie https://dreadnot.example.com/stacks/chef/regions/dfw
Add a page https://dreadnot.example.com/stacks/chef
that shows its regions.
When viewing an in-progress deployment in Safari 5.1.1 on Max OS 10.6, the deployment log is not displayed. In my Javascript console, I see the following error:
Error during WebSocket handshake: location mismatch: wss://reach-dreadnot.k1k.me/socket.io/1/websocket/1373491425311499637 != ws://reach-dreadnot.k1k.me/socket.io/1/websocket/1373491425311499637
For crypting passwords it should support bcrypt in addition to of the crazy md5 scheme. (The big feature of bcrypt is "option to tell how slow it should be").
There's also an npm package.
(I realized this was to be compatible with other htpasswd implementations that uses the md5crypt thing and updated the ticket).
Dreadnot does not fail gracefully when an error in config or logic is encountere and instead crashes the process or renders an empty page.
via
https://github.com/racker/sfo-devops/issues/21
Add to README? wiki page? github pages website? docs directory?
update package.json
with newer versions of libraries.
in the tapkick example:
https://github.com/racker/dreadnot/blob/master/example/stacks/tapkick.js
We are just doing a straight up pull, but it should checkout a specific revision / tip.
Currently the knife path is hard-coded to /usr/bin/knife. The knife path should probably be taken from an environment variable first, then default to /usr/bin/knife if no other path is specified. Pull request coming, I created this issue just to have something to track it against. :)
Setting a deploy warning does not show a modal window to be accepted/denied. This blocks deploys.
e.g. in deploy logs....just makes it easier to quickly tell what kind of servers failed, etc.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.