alpha_omega 1.0.1 → 1.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.0.1
1
+ 1.1.1
@@ -6,7 +6,6 @@ $this_pod = nil
6
6
  $this_host = nil
7
7
  $opsdb = nil
8
8
  $pods_config = nil
9
- $magic_prefix = "eea914aaa8dde6fdae29242b1084a2b0415eefaf"
10
9
 
11
10
  module AlphaOmega
12
11
  def self.node_defaults(node, env_pod, node_name)
@@ -61,11 +60,8 @@ module AlphaOmega
61
60
 
62
61
  def self.default_pods_tasks
63
62
  Proc.new do |config, pod_name, pod, this_node, &node_filter|
64
- %w(app echo yaml).each do |tsuffix|
65
- # each pod task sets the pod context for host/group tasks
66
- config.task "#{pod_name}.#{tsuffix}" do # task pod1
67
- set :current_pod, pod_name
68
- end
63
+ config.task "#{pod_name}" do # task pod1
64
+ set :current_pod, pod_name
69
65
  end
70
66
 
71
67
  node_dna = { }
@@ -79,7 +75,7 @@ module AlphaOmega
79
75
  next nil unless cap_roles
80
76
  config.set :dna, node_dna[remote_name]
81
77
 
82
- config.task "#{task_name}.#{pod_name}.app" do # task host.pod1.app
78
+ config.task "#{task_name}.#{pod_name}" do # task host.pod1
83
79
  cap_roles.each do |cap_role, cap_preds|
84
80
  if $this_host["local_pods"] && $this_host["local_pods"].member?(node["env_pod"])
85
81
  role cap_role, node["node_name"], cap_preds
@@ -89,35 +85,20 @@ module AlphaOmega
89
85
  end
90
86
  end
91
87
 
92
- config.task "#{task_name}.#{pod_name}.echo" do # task host.pod1.echo
93
- puts "#{$magic_prefix} #{remote_name}"
94
- end
95
-
96
- config.task "#{task_name}.#{pod_name}.yaml" do # task host.pod1.yaml
97
- StringIO.new({ remote_name => n }.to_yaml).lines.to_a[1..-1].each {|l| puts "#{$magic_prefix} #{l}" }
98
- end
99
-
100
- %w(app echo yaml).each do |tsuffix|
101
- config.task "#{task_name}.#{tsuffix}" do # task host -> host.current_pod
102
- config.after "#{task_name}.#{tsuffix}", "#{task_name}.#{current_pod}.#{tsuffix}"
103
- end
88
+ config.task "#{task_name}" do # task host -> host.current_pod
89
+ config.after "#{task_name}", "#{task_name}.#{current_pod}"
104
90
  end
105
91
 
106
92
  n
107
93
  end
108
94
 
109
95
  self.what_groups hosts do |task_name, nodes|
110
- %w(app echo yaml).each do |tsuffix|
111
- config.task "#{task_name}.#{pod_name}.#{tsuffix}" do
112
- end
113
-
114
- nodes.keys.sort.each do |remote_name|
115
- config.after "#{task_name}.#{pod_name}.#{tsuffix}", "#{remote_name}.#{tsuffix}"
116
- end
96
+ nodes.keys.sort.each do |remote_name|
97
+ config.after "#{task_name}.#{pod_name}", "#{remote_name}"
98
+ end
117
99
 
118
- config.task "#{task_name}.#{tsuffix}" do
119
- config.after "#{task_name}.#{tsuffix}", "#{task_name}.#{current_pod}.#{tsuffix}"
120
- end
100
+ config.task "#{task_name}" do
101
+ config.after "#{task_name}", "#{task_name}.#{current_pod}"
121
102
  end
122
103
  end
123
104
  end
data/libexec/build CHANGED
@@ -1,199 +1,30 @@
1
- #!/bin/bash -e
1
+ #!/bin/bash
2
2
 
3
- export LOCAL_ONLY=
3
+ #/ NAME
4
+ #/ build-gem -- upload the latest (timestamp) rubygem to rubygems.org
5
+ #/
6
+ #/ SYNOPSIS
7
+ #/ build gem -n gem_name
4
8
 
5
- case "$(basename $0)" in
6
- invoke)
7
- export COMMAND="$1"; shift
9
+ # figure out the project root under which bin, lib live
10
+ shome="$(cd -P -- "$(dirname -- "$BASH_SOURCE")/.." && pwd -P)"
8
11
 
9
- if [[ -n $1 ]]; then
10
- set -- $(for a in "$@"; do echo $a.app; done)
11
- fi
12
+ # load a jason bourne library
13
+ source "$shome/bin/_treadstone"
12
14
 
13
- tmp_invoke=$(mktemp -t XXXXXXXXX)
14
- bundle exec cap "$@" invoke 2>&1 | perl -pe 's{.\[\d+m}{}g' | perl -ne 'm{^\s*\*+\s*\[(out|err)\s*::\s*([^]]+)\] ?(.*)} && print "$1 $2 $3\n"' > $tmp_invoke 2>&1
15
+ # define command line options:
16
+ DEFINE_string 'name' "$(basename "$shome")" 'name of gem' 'n'
15
17
 
16
- cat $tmp_invoke | awk '{print $2}' | sort -u | while read -r nm_host; do
17
- egrep "^(out|err) $nm_host" $tmp_invoke || true
18
- echo
19
- done
20
- rm -f $tmp_invoke
21
- ;;
22
- *)
23
- if [[ -n $1 ]]; then
24
- set -- $(for a in "$@"; do echo $a; done)
25
- fi
18
+ # entry point
19
+ function main {
20
+ local pth_gemspec="$shome/$FLAGS_name.gemspec"
21
+ if [[ ! -e "$pth_gemspec" ]]; then
22
+ logger_fatal "could not find gemspec $pth_gemspec"
23
+ exit 1
24
+ fi
26
25
 
27
- case "$(basename $0)" in
28
- debug)
29
- LOCAL_ONLY=true
30
- if [[ -z $1 ]]; then
31
- set "world"
32
- fi
33
-
34
- if [[ -n $1 ]]; then
35
- cap $(for a in "$@"; do echo $a.echo; done)
36
- fi
37
- ;;
38
-
39
- hosts)
40
- LOCAL_ONLY=true
41
- {
42
- if [[ -n $1 ]]; then
43
- cap $(for a in "$@"; do echo $a.echo; done)
44
- fi
45
- } 2>&1 | grep eea914aaa8dde6fdae29242b1084a2b0415eefaf | awk '{print $NF}' | sort -u
46
- ;;
47
-
48
- dna)
49
- LOCAL_ONLY=true
50
- {
51
- echo "eea914aaa8dde6fdae29242b1084a2b0415eefaf ---"
52
- if [[ -n $1 ]]; then
53
- cap $(for a in "$@"; do echo $a.yaml; done)
54
- fi
55
- } 2>&1 | grep eea914aaa8dde6fdae29242b1084a2b0415eefaf | sed 's#eea914aaa8dde6fdae29242b1084a2b0415eefaf ##'
56
- ;;
57
-
58
- task)
59
- if [[ -n $1 ]]; then
60
- nm_task=$1; shift
61
- set -- $(for a in "$@"; do echo $a.app; done)
62
- fi
63
- bundle exec cap "$@" deploy:lock_migrate deploy:migrate "$nm_task"
64
- ;;
65
-
66
- *)
67
- if [[ -n $1 ]]; then
68
- set -- $(for a in "$@"; do echo $a.app; done)
69
- fi
70
- case "$(basename $0)" in
71
- deploy)
72
- bundle exec cap "$@" deploy:lock deploy
73
- ;;
74
-
75
- release)
76
- bundle exec cap "$@" deploy:lock deploy
77
- ;;
78
-
79
- stage)
80
- bundle exec cap "$@" deploy:lock deploy:update_code deploy:symlink_next
81
- ;;
82
-
83
- restart)
84
- bundle exec cap "$@" deploy:lock deploy:restart
85
- ;;
86
-
87
- config)
88
- bundle exec cap "$@" deploy:lock deploy:config
89
- ;;
90
-
91
- build)
92
- bundle exec cap "$@" deploy:lock deploy:build
93
- ;;
94
-
95
- dist)
96
- bundle exec cap "$@" deploy:lock deploy:dist
97
- ;;
98
-
99
- activate)
100
- bundle exec cap "$@" deploy:lock deploy:symlink deploy:restart
101
- ;;
102
-
103
- rollback)
104
- bundle exec cap "$@" deploy:lock deploy:rollback
105
- ;;
106
-
107
- check)
108
- bundle exec cap "$@" deploy:lock deploy:check
109
- ;;
110
-
111
- plan)
112
- bundle exec cap "$@" deploy:lock deploy:plan
113
- ;;
114
-
115
- lock)
116
- case "${1%.app}" in
117
- compare|migrate)
118
- nm_lock="${1%.app}"; shift
119
- bundle exec cap "$@" deploy:dont_unlock "deploy:lock_${nm_lock}"
120
- ;;
121
- *)
122
- bundle exec cap "$@" deploy:dont_unlock deploy:lock
123
- ;;
124
- esac
125
- ;;
126
-
127
- unlock)
128
- case "${1%.app}" in
129
- compare|migrate)
130
- nm_lock="${1%.app}"; shift
131
- bundle exec cap "$@" "deploy:unlock_${nm_lock}"
132
- ;;
133
- *)
134
- bundle exec cap "$@" deploy:unlock
135
- ;;
136
- esac
137
- ;;
138
-
139
- shell)
140
- bundle exec cap "$@" shell
141
- ;;
142
-
143
- compare)
144
- bundle exec cap "$@" deploy:lock_compare deploy:compare
145
- ;;
146
-
147
- repl)
148
- bundle exec cap "$@" deploy:lock_compare deploy:repl
149
- ;;
150
-
151
- migrate)
152
- want_list=
153
- if [[ "${1%.app}" = "list" ]]; then
154
- want_list=1; shift
155
- fi
156
-
157
- change_group=
158
- migration=
159
- case "${1%.app}" in
160
- data)
161
- change_group=${1%.app}; shift
162
- ;;
163
- pre)
164
- change_group=${1%.app}; shift
165
- ;;
166
- during)
167
- change_group=${1%.app} shift
168
- ;;
169
- post)
170
- change_group=${1%.app}; shift
171
- ;;
172
- [0123456789][0123456789][0123456789][0123456789][0123456789][0123456789][0123456789][0123456789][0123456789][0123456789][0123456789][0123456789][0123456789][0123456789])
173
- migration=${1%.app}; shift
174
- ;;
175
- esac
176
-
177
- if [[ -n $change_group ]]; then
178
- if [[ -n $want_list ]]; then
179
- echo "listing change group $change_group"
180
- else
181
- echo "running change group $change_group"
182
- fi
183
- elif [[ -n $migration ]]; then
184
- echo "running migration $migratio"
185
- elif [[ -n $want_list ]]; then
186
- echo "listing migrations"
187
- fi
188
-
189
- bundle exec cap "$@" deploy:lock_migrate deploy:migrate
190
- ;;
191
-
192
- *)
193
- bundle exec cap "$@"
194
- ;;
195
- esac
196
- esac
197
- ;;
198
- esac
26
+ cd "$shome"
27
+ gem build "$pth_gemspec"
28
+ }
199
29
 
30
+ require sub "$BASH_SOURCE" "$@"
data/libexec/build-gem ADDED
@@ -0,0 +1,30 @@
1
+ #!/bin/bash
2
+
3
+ #/ NAME
4
+ #/ build-gem -- upload the latest (timestamp) rubygem to rubygems.org
5
+ #/
6
+ #/ SYNOPSIS
7
+ #/ build gem -n gem_name
8
+
9
+ # figure out the project root under which bin, lib live
10
+ shome="$(cd -P -- "$(dirname -- "$BASH_SOURCE")/.." && pwd -P)"
11
+
12
+ # load a jason bourne library
13
+ source "$shome/bin/_treadstone"
14
+
15
+ # define command line options:
16
+ DEFINE_string 'name' "$(basename "$shome")" 'name of gem' 'n'
17
+
18
+ # entry point
19
+ function main {
20
+ local pth_gemspec="$shome/$FLAGS_name.gemspec"
21
+ if [[ ! -e "$pth_gemspec" ]]; then
22
+ logger_fatal "could not find gemspec $pth_gemspec"
23
+ exit 1
24
+ fi
25
+
26
+ cd "$shome"
27
+ gem build "$pth_gemspec"
28
+ }
29
+
30
+ require sub "$BASH_SOURCE" "$@"
@@ -0,0 +1,199 @@
1
+ #!/bin/bash -e
2
+
3
+ export LOCAL_ONLY=
4
+
5
+ case "$(basename $0)" in
6
+ invoke)
7
+ export COMMAND="$1"; shift
8
+
9
+ if [[ -n $1 ]]; then
10
+ set -- $(for a in "$@"; do echo $a.app; done)
11
+ fi
12
+
13
+ tmp_invoke=$(mktemp -t XXXXXXXXX)
14
+ bundle exec cap "$@" invoke 2>&1 | perl -pe 's{.\[\d+m}{}g' | perl -ne 'm{^\s*\*+\s*\[(out|err)\s*::\s*([^]]+)\] ?(.*)} && print "$1 $2 $3\n"' > $tmp_invoke 2>&1
15
+
16
+ cat $tmp_invoke | awk '{print $2}' | sort -u | while read -r nm_host; do
17
+ egrep "^(out|err) $nm_host" $tmp_invoke || true
18
+ echo
19
+ done
20
+ rm -f $tmp_invoke
21
+ ;;
22
+ *)
23
+ if [[ -n $1 ]]; then
24
+ set -- $(for a in "$@"; do echo $a; done)
25
+ fi
26
+
27
+ case "$(basename $0)" in
28
+ debug)
29
+ LOCAL_ONLY=true
30
+ if [[ -z $1 ]]; then
31
+ set "world"
32
+ fi
33
+
34
+ if [[ -n $1 ]]; then
35
+ cap $(for a in "$@"; do echo $a.echo; done)
36
+ fi
37
+ ;;
38
+
39
+ hosts)
40
+ LOCAL_ONLY=true
41
+ {
42
+ if [[ -n $1 ]]; then
43
+ cap $(for a in "$@"; do echo $a.echo; done)
44
+ fi
45
+ } 2>&1 | grep eea914aaa8dde6fdae29242b1084a2b0415eefaf | awk '{print $NF}' | sort -u
46
+ ;;
47
+
48
+ dna)
49
+ LOCAL_ONLY=true
50
+ {
51
+ echo "eea914aaa8dde6fdae29242b1084a2b0415eefaf ---"
52
+ if [[ -n $1 ]]; then
53
+ cap $(for a in "$@"; do echo $a.yaml; done)
54
+ fi
55
+ } 2>&1 | grep eea914aaa8dde6fdae29242b1084a2b0415eefaf | sed 's#eea914aaa8dde6fdae29242b1084a2b0415eefaf ##'
56
+ ;;
57
+
58
+ task)
59
+ if [[ -n $1 ]]; then
60
+ nm_task=$1; shift
61
+ set -- $(for a in "$@"; do echo $a.app; done)
62
+ fi
63
+ bundle exec cap "$@" deploy:lock_migrate deploy:migrate "$nm_task"
64
+ ;;
65
+
66
+ *)
67
+ if [[ -n $1 ]]; then
68
+ set -- $(for a in "$@"; do echo $a.app; done)
69
+ fi
70
+ case "$(basename $0)" in
71
+ deploy)
72
+ bundle exec cap "$@" deploy:lock deploy
73
+ ;;
74
+
75
+ release)
76
+ bundle exec cap "$@" deploy:lock deploy
77
+ ;;
78
+
79
+ stage)
80
+ bundle exec cap "$@" deploy:lock deploy:update_code deploy:symlink_next
81
+ ;;
82
+
83
+ restart)
84
+ bundle exec cap "$@" deploy:lock deploy:restart
85
+ ;;
86
+
87
+ config)
88
+ bundle exec cap "$@" deploy:lock deploy:config
89
+ ;;
90
+
91
+ build)
92
+ bundle exec cap "$@" deploy:lock deploy:build
93
+ ;;
94
+
95
+ dist)
96
+ bundle exec cap "$@" deploy:lock deploy:dist
97
+ ;;
98
+
99
+ activate)
100
+ bundle exec cap "$@" deploy:lock deploy:symlink deploy:restart
101
+ ;;
102
+
103
+ rollback)
104
+ bundle exec cap "$@" deploy:lock deploy:rollback
105
+ ;;
106
+
107
+ check)
108
+ bundle exec cap "$@" deploy:lock deploy:check
109
+ ;;
110
+
111
+ plan)
112
+ bundle exec cap "$@" deploy:lock deploy:plan
113
+ ;;
114
+
115
+ lock)
116
+ case "${1%.app}" in
117
+ compare|migrate)
118
+ nm_lock="${1%.app}"; shift
119
+ bundle exec cap "$@" deploy:dont_unlock "deploy:lock_${nm_lock}"
120
+ ;;
121
+ *)
122
+ bundle exec cap "$@" deploy:dont_unlock deploy:lock
123
+ ;;
124
+ esac
125
+ ;;
126
+
127
+ unlock)
128
+ case "${1%.app}" in
129
+ compare|migrate)
130
+ nm_lock="${1%.app}"; shift
131
+ bundle exec cap "$@" "deploy:unlock_${nm_lock}"
132
+ ;;
133
+ *)
134
+ bundle exec cap "$@" deploy:unlock
135
+ ;;
136
+ esac
137
+ ;;
138
+
139
+ shell)
140
+ bundle exec cap "$@" shell
141
+ ;;
142
+
143
+ compare)
144
+ bundle exec cap "$@" deploy:lock_compare deploy:compare
145
+ ;;
146
+
147
+ repl)
148
+ bundle exec cap "$@" deploy:lock_compare deploy:repl
149
+ ;;
150
+
151
+ migrate)
152
+ want_list=
153
+ if [[ "${1%.app}" = "list" ]]; then
154
+ want_list=1; shift
155
+ fi
156
+
157
+ change_group=
158
+ migration=
159
+ case "${1%.app}" in
160
+ data)
161
+ change_group=${1%.app}; shift
162
+ ;;
163
+ pre)
164
+ change_group=${1%.app}; shift
165
+ ;;
166
+ during)
167
+ change_group=${1%.app} shift
168
+ ;;
169
+ post)
170
+ change_group=${1%.app}; shift
171
+ ;;
172
+ [0123456789][0123456789][0123456789][0123456789][0123456789][0123456789][0123456789][0123456789][0123456789][0123456789][0123456789][0123456789][0123456789][0123456789])
173
+ migration=${1%.app}; shift
174
+ ;;
175
+ esac
176
+
177
+ if [[ -n $change_group ]]; then
178
+ if [[ -n $want_list ]]; then
179
+ echo "listing change group $change_group"
180
+ else
181
+ echo "running change group $change_group"
182
+ fi
183
+ elif [[ -n $migration ]]; then
184
+ echo "running migration $migratio"
185
+ elif [[ -n $want_list ]]; then
186
+ echo "listing migrations"
187
+ fi
188
+
189
+ bundle exec cap "$@" deploy:lock_migrate deploy:migrate
190
+ ;;
191
+
192
+ *)
193
+ bundle exec cap "$@"
194
+ ;;
195
+ esac
196
+ esac
197
+ ;;
198
+ esac
199
+