Revision 71585c27
b/snf-pithos-app/pithos/api/management/commands/reconcile-resources-pithos.py | ||
---|---|---|
40 | 40 |
from synnefo.webproject.management import utils |
41 | 41 |
from astakosclient.errors import AstakosClientException |
42 | 42 |
|
43 |
ENTITY_KEY = '1' |
|
44 |
|
|
45 | 43 |
backend = get_backend() |
46 | 44 |
|
47 | 45 |
class Command(NoArgsCommand): |
... | ... | |
149 | 147 |
request['auto_accept'] = True |
150 | 148 |
request['provisions'] = provisions |
151 | 149 |
try: |
152 |
serial = backend.astakosclient.issue_commission(
|
|
150 |
backend.astakosclient.issue_commission( |
|
153 | 151 |
backend.service_token, request |
154 | 152 |
) |
155 | 153 |
except AstakosClientException, e: |
156 | 154 |
self.stdout.write(e.details) |
157 |
else: |
|
158 |
backend.commission_serials.insert_many([serial]) |
|
159 | 155 |
elif options['list'] and table: |
160 | 156 |
output_format = options["output_format"] |
161 | 157 |
if output_format != "json" and not options["headers"]: |
b/snf-pithos-backend/pithos/backends/modular.py | ||
---|---|---|
122 | 122 |
ret = func(self, *args, **kw) |
123 | 123 |
for m in self.messages: |
124 | 124 |
self.queue.send(*m) |
125 |
if serials: |
|
126 |
self.quotaholder_serials.insert_many(serials)
|
|
125 |
if self.serials:
|
|
126 |
self.commission_serials.insert_many(serials)
|
|
127 | 127 |
|
128 | 128 |
# commit to ensure that the serials are registered |
129 | 129 |
# even if accept commission fails |
130 | 130 |
self.wrapper.commit() |
131 | 131 |
self.wrapper.execute() |
132 | 132 |
|
133 |
self.quotaholder.accept_commission( |
|
134 |
context = {}, |
|
135 |
clientkey = 'pithos', |
|
136 |
serials = serials) |
|
137 |
|
|
138 |
self.quotaholder_serials.delete_many(serials) |
|
133 |
r = self.astakosclient.resolve_commissions( |
|
134 |
token=self.service_token, |
|
135 |
accept_serials=self.serials, |
|
136 |
reject_serials=[]) |
|
137 |
self.commission_serials.delete_many(r['accepted']) |
|
139 | 138 |
|
140 | 139 |
self.wrapper.commit() |
141 | 140 |
return ret |
142 | 141 |
except: |
143 |
if serials: |
|
142 |
if self.serials:
|
|
144 | 143 |
self.astakosclient.resolve_commissions( |
145 | 144 |
token=self.service_token, |
146 | 145 |
accept_serials=[], |
147 |
reject_serials=serials) |
|
146 |
reject_serials=self.serials)
|
|
148 | 147 |
self.wrapper.rollback() |
149 | 148 |
raise |
150 | 149 |
return fn |
Also available in: Unified diff