Skip to content

Commit 819fc0a

Browse files
committed
split foreman from deploy in the hack
1 parent af06260 commit 819fc0a

File tree

2 files changed

+30
-3
lines changed

2 files changed

+30
-3
lines changed

networkapi/api_rack/urls.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,12 @@
77

88

99
from networkapi.api_rack.views import RackDeployView
10+
from networkapi.api_rack.views import RackForeman
1011
from networkapi.api_rack.views import RackView
1112

1213
urlpatterns = patterns('',
1314
url(r'^rack/(?P<rack_id>\d+)/equipments/$', rack_views.RackDeployView.as_view()),
15+
url(r'^rack/foreman/(?P<rack_id>\d+)/', rack_views.RackForeman.as_view()),
1416
url(r'^rack/fabric/(?P<fabric_id>\d+)[/]$', rack_views.RackView.as_view()),
1517
url(r'^rack/$', rack_views.RackView.as_view()),
1618
url(r'^rack/(?P<rack_id>\d+)/$', rack_views.RackView.as_view()),

networkapi/api_rack/views.py

Lines changed: 28 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -185,9 +185,7 @@ def post(self, *args, **kwargs):
185185
except Exception, e:
186186
log.exception(e)
187187
raise exceptions.RackAplError(e)
188-
189-
# Create Foreman entries for rack switches
190-
facade.api_foreman(rack)
188+
# SEPARAR AQUI!
191189

192190
datas = dict()
193191
success_map = dict()
@@ -209,6 +207,33 @@ def post(self, *args, **kwargs):
209207
raise api_exceptions.NetworkAPIException(e)
210208

211209

210+
class RackForeman (APIView):
211+
def post(self, *args, **kwargs):
212+
try:
213+
log.info('RACK Foreman.')
214+
215+
rack_id = kwargs.get('rack_id')
216+
rack = facade.get_by_pk(rack_id)
217+
# Create Foreman entries for rack switches
218+
facade.api_foreman(rack)
219+
raise api_exceptions.NetworkAPIException('chegou')
220+
return Response(datas, status=status.HTTP_201_CREATED)
221+
222+
except exceptions.RackNumberNotFoundError, e:
223+
log.exception(e)
224+
raise exceptions.NetworkAPIException(e)
225+
226+
except var_exceptions.VariableDoesNotExistException, e:
227+
log.error(e)
228+
raise api_exceptions.NetworkAPIException(
229+
'Erro ao registrar o Switch no Foreman. Erro: %s' % e)
230+
231+
except Exception, e:
232+
log.exception(e)
233+
raise api_exceptions.NetworkAPIException(e)
234+
235+
236+
#===============================================@====================================================
212237
class RackConfigView(APIView):
213238

214239
@commit_on_success

0 commit comments

Comments
 (0)