Revision e38e7fcf
b/snf-cyclades-app/synnefo/ui/static/snf/js/neutron.js | ||
---|---|---|
178 | 178 |
// TODO: filter out vms |
179 | 179 |
return vms; |
180 | 180 |
}, |
181 |
|
|
181 |
|
|
182 | 182 |
connect_vm: function(vm, cb) { |
183 | 183 |
var self = this; |
184 | 184 |
var data = { |
... | ... | |
234 | 234 |
|
235 | 235 |
create: function (name, type, cidr, dhcp, callback) { |
236 | 236 |
var quota = synnefo.storage.quotas; |
237 |
var params = { network: { name:name } }; |
|
237 |
var params = {network:{name:name}}; |
|
238 |
var subnet_params = {subnet:{network_id:undefined}}; |
|
238 | 239 |
if (!type) { throw "Network type cannot be empty"; } |
239 | 240 |
|
240 | 241 |
params.network.type = type; |
241 |
if (cidr) { params.network.cidr = cidr; }
|
|
242 |
if (dhcp) { params.network.dhcp = dhcp; }
|
|
243 |
if (dhcp === false) { params.network.dhcp = false; }
|
|
242 |
if (cidr) { subnet_params.subnet.cidr = cidr; }
|
|
243 |
if (dhcp) { subnet_params.subnet.dhcp_enabled = dhcp; }
|
|
244 |
if (dhcp === false) { subnet_params.subnet.dhcp_enabled = false; }
|
|
244 | 245 |
|
245 | 246 |
var cb = function() { |
246 | 247 |
callback(); |
248 |
} |
|
249 |
|
|
250 |
var complete = function() {}; |
|
251 |
var error = function() { cb() }; |
|
252 |
// on network create success, try to create the requested |
|
253 |
// network subnet |
|
254 |
var success = function(resp) { |
|
255 |
var network = resp.network; |
|
256 |
subnet_params.subnet.network_id = network.id; |
|
257 |
synnefo.storage.subnets.create(subnet_params, { |
|
258 |
complete: function () { cb && cb() } |
|
259 |
}); |
|
247 | 260 |
quota.get('cyclades.network.private').increase(); |
248 | 261 |
} |
249 |
return this.api_call(this.path, "create", params, cb);
|
|
262 |
return this.api_call(this.path, "create", params, complete, error, success);
|
|
250 | 263 |
} |
251 | 264 |
}); |
252 | 265 |
|
Also available in: Unified diff