- authority_hrn = request.POST.get('authority_hrn', '')
- number_of_nodes = request.POST.get('number_of_nodes', '')
- purpose = request.POST.get('purpose', '')
- email = self.user_email
- cc_myself = True
+ if not slice_name or len(slice_name) == 0 :
+ errors.append('Slice name can\'t be empty')
+
+ # accept only lowercase names
+ slice_name = slice_name.lower()
+
+ slice_request = {
+ 'type' : 'slice',
+ 'id' : None,
+ 'user_hrn' : user_hrn,
+ 'email' : user_email,
+ 'timestamp' : time.time(),
+ 'authority_hrn' : authority_hrn,
+ 'organization' : request.POST.get('org_name', ''),
+ 'slice_name' : slice_name,
+ 'url' : request.POST.get('url', ''),
+ 'purpose' : request.POST.get('purpose', ''),
+ 'current_site' : current_site
+ }
+
+ # slice name is unique among all authorities
+ slice_query = Query().get('myslice:slice').select('slice_hrn')
+ slice_details_sfa = execute_admin_query(request, slice_query)
+ for _slice in slice_details_sfa:
+ split_list = _slice['slice_hrn'].split('.')
+ sfa_slice_name = split_list[-1]
+ if sfa_slice_name == slice_name:
+ errors.append('Slice already exists. Please use a different slice name.')