4
4
__author__ = 'sukrit'
5
5
6
6
import fleet .client as fleet_client
7
- import template_manager as tmgr
7
+ import template_manager as tmgr
8
+
8
9
9
10
class Deployment :
10
- def __init__ (self , ** kwargs ):
11
+ """
12
+ Class for creating new docker deployment in fleet.
13
+ """
14
+ def __init__ (self , fleet_provider , ** kwargs ):
15
+ self .fleet_provider = fleet_provider
11
16
template_group = kwargs .get ('template_group' , 'default' )
12
17
app_template_url = kwargs .get (
13
18
'app_template_url' , tmgr .fetch_bundled_template_url (
@@ -37,13 +42,13 @@ def __init__(self, **kwargs):
37
42
'logger_template_url' , tmgr .fetch_bundled_template_url (
38
43
group = template_group , type = 'logger' ))
39
44
self .logger_template = tmgr .fetch_template (logger_template_url )
40
- if kwargs .get ('use_register' , True ):
45
+ if kwargs .get ('use_register' , False ):
41
46
register_template_url = kwargs .get (
42
47
'register_template_url' , tmgr .fetch_bundled_template_url (
43
48
group = template_group , type = 'register' ))
44
49
self .register_template = tmgr .fetch_template (register_template_url )
45
50
46
- def _deploy (self , fleet_provider , template , service_name_prefix ,
51
+ def _deploy (self , template , service_name_prefix ,
47
52
force_remove = False ):
48
53
template_args = self .template_args .copy ()
49
54
for unit in range (1 , self .nodes + 1 ):
@@ -52,58 +57,54 @@ def _deploy(self, fleet_provider, template, service_name_prefix,
52
57
service_name = "{}-{}.service" .format (service_name_prefix , unit )
53
58
unit_stream = StringIO ()
54
59
unit_stream .write (unit_data )
55
- fleet_provider .deploy (service_name , unit_stream ,
60
+ self . fleet_provider .deploy (service_name , unit_stream ,
56
61
force_remove = force_remove )
57
62
58
- def deploy_app (self , fleet_provider , force_remove = False ):
59
- self ._deploy (fleet_provider ,
60
- self .app_template ,
63
+ def deploy_app (self , force_remove = False ):
64
+ self ._deploy (self .app_template ,
61
65
"{}-{}" .format (self .name , self .version ),
62
66
force_remove = force_remove )
63
67
64
- def deploy_register (self , fleet_provider , force_remove = True ):
65
- self ._deploy (fleet_provider , self .register_template ,
68
+ def deploy_register (self , force_remove = True ):
69
+ self ._deploy (self .register_template ,
66
70
"{}-register-{}" .format (self .name , self .version ),
67
71
force_remove = force_remove )
68
72
69
- def deploy_logger (self , fleet_provider , force_remove = True ):
70
- self ._deploy (fleet_provider , self .logger_template ,
73
+ def deploy_logger (self , force_remove = True ):
74
+ self ._deploy (self .logger_template ,
71
75
"{}-logger-{}" .format (self .name , self .version ),
72
76
force_remove = force_remove )
73
77
74
- def deploy (self , fleet_provider ):
75
- self .deploy_app (fleet_provider )
78
+ def deploy (self ):
79
+ self .deploy_app (self . fleet_provider )
76
80
if self .register_template :
77
- self .deploy_register (fleet_provider )
81
+ self .deploy_register (self . fleet_provider )
78
82
if self .logger_template :
79
- self .deploy_logger (fleet_provider )
83
+ self .deploy_logger (self . fleet_provider )
80
84
81
85
82
86
def deploy (fleet_provider , ** kwargs ):
83
- deployment = Deployment (** kwargs )
84
- deployment .deploy (fleet_provider )
87
+ deployment = Deployment (fleet_provider , ** kwargs )
88
+ deployment .deploy ()
85
89
#Replace
86
90
87
- def undeploy (fleet_provider , name , version , nodes ):
88
- for unit in range (1 , nodes + 1 ):
89
- app_service = "{}-{}-{}.service" .format (name , version , unit )
90
- register_service = "{}-register-{}-{}.service" .format (
91
- name , version , unit )
92
- log_service = "{}-logger-{}-{}.service" .format (name , version , unit )
93
91
94
- fleet_provider .destroy (app_service )
95
- fleet_provider .destroy (register_service )
96
- fleet_provider .destroy (log_service )
92
+ def undeploy (fleet_provider , name , version ):
93
+ service_prefix = "{}-{}" .format (name , version )
94
+ fleet_provider .destroy (service_prefix )
95
+
97
96
98
97
def app_status (fleet_provider , name , version , node_num ):
99
98
app_service = "{}-{}-{}.service" .format (name , version , node_num )
100
99
return fleet_provider .status (app_service )
101
100
101
+
102
102
def register_status (fleet_provider , name , version , node_num ):
103
103
register_service = "{}-register-{}-{}.service" .format (
104
104
name , version , node_num )
105
105
return fleet_provider .status (register_service )
106
106
107
+
107
108
def logger_status (fleet_provider , name , version , node_num ):
108
109
log_service = "{}-logger-{}-{}.service" .format (name , version , node_num )
109
110
return fleet_provider .status (log_service )
@@ -116,27 +117,36 @@ def logger_status(fleet_provider, name, version, node_num):
116
117
117
118
num_nodes = 3
118
119
undeploy (provider ,
119
- name = 'apache ' ,
120
- version = 'a234wdsa34 ' ,
120
+ name = 'yoda ' ,
121
+ version = 'v1 ' ,
121
122
nodes = num_nodes
122
123
)
123
124
124
125
#In SWF We will poll
125
126
sleep (10 )
126
127
128
+ # deploy(provider,
129
+ # image='coreos/apache',
130
+ # template_group='default',
131
+ # name='apache',
132
+ # version='a234wdsa34',
133
+ # use_logger=True,
134
+ # use_register=True,
135
+ # nodes = num_nodes,
136
+ # docker_args='-p :80',
137
+ # app_cmd='''/bin/bash -c \'echo \\"<h1>a234wdsa34</h1>\\" \\
138
+ # >/var/www/index.html &&\\
139
+ # /usr/sbin/apache2ctl -D FOREGROUND\'''' )
140
+
127
141
deploy (provider ,
128
- image = 'coreos/apache ' ,
142
+ image = 'totem/yoda-proxy ' ,
129
143
template_group = 'default' ,
130
- name = 'apache ' ,
131
- version = 'a234wdsa34 ' ,
144
+ name = 'yoda ' ,
145
+ version = 'v1 ' ,
132
146
use_logger = True ,
133
- use_register = True ,
147
+ use_register = False ,
134
148
nodes = num_nodes ,
135
- docker_args = '-p :80' ,
136
- app_cmd = '''/bin/bash -c \' echo \\ "<h1>a234wdsa34</h1>\\ " \\
137
- >/var/www/index.html &&\\
138
- /usr/sbin/apache2ctl -D FOREGROUND\' ''' )
139
-
149
+ docker_args = '-p :80' )
140
150
sleep (10 )
141
151
142
152
print app_status (provider ,
0 commit comments