- slices = [{'name': "pl_conf",
- 'description': "PlanetLab Slice Creation Service (SCS)",
- 'url': url,
- 'instantiation': "plc-instantiated",
- # Renew forever
- 'expires': sys.maxint,
- 'attributes': {'plc_slice_type': "VServerSlice",
- 'plc_agent_version': "1.0",
- 'plc_ticket_pubkey': plc_ticket_pubkey}},
- {'name': "pl_conf_vserverslice",
- 'description': "Default attributes for vserver slices",
- 'url': url,
- 'instantiation': "plc-instantiated",
- # Renew forever
- 'expires': sys.maxint,
- 'attributes': {'nm_cpu_share': "32",
- 'plc_slice_type': "VServerSlice",
- 'nm_disk_quota': "5000000"}}]
- for slice in slices:
- try:
- UpdateSlice(slice['name'], slice)
- except:
- AddSlice(slice)
- # Create/update all attributes
- for attribute, value in slice['attributes'].iteritems():
- AddSliceAttribute(slice['name'], attribute, value)
+ default_slices = [
+ # XXX Required for old Node Manager
+ {'name': "pl_conf",
+ 'description': "PlanetLab Slice Creation Service (SCS)",
+ 'url': url,
+ 'instantiation': "plc-instantiated",
+ # Renew forever
+ 'expires': sys.maxint,
+ 'attributes': [('plc_slice_type', "VServerSlice"),
+ ('plc_agent_version', "1.0"),
+ ('plc_ticket_pubkey', plc_ticket_pubkey)]},
+
+ # XXX Required for old Node Manager
+ {'name': "pl_conf_vserverslice",
+ 'description': "Default attributes for vserver slices",
+ 'url': url,
+ 'instantiation': "plc-instantiated",
+ # Renew forever
+ 'expires': sys.maxint,
+ 'attributes': [('cpu_share', "32"),
+ ('plc_slice_type', "VServerSlice"),
+ ('disk_max', "5000000")]},
+
+ # PlanetFlow
+ {'name': plc['slice_prefix'] + "_netflow",
+ 'description': "PlanetFlow Traffic Auditing Service",
+ 'url': url,
+ 'instantiation': "plc-instantiated",
+ # Renew forever
+ 'expires': sys.maxint,
+ 'attributes': [('system', "1"),
+ ('vref', "planetflow"),
+ ('proper_op', "open file=/etc/passwd, flags=r"),
+ ('proper_op', "create_socket"),
+ ('proper_op', "bind_socket")]},
+ ]
+
+
+ for default_slice in default_slices:
+ slices = GetSlices([default_slice['name']])
+ if slices:
+ slice = slices[0]
+ UpdateSlice(slice['slice_id'], default_slice)
+ else:
+ AddSlice(default_slice)
+ slice = GetSlices([default_slice['name']])[0]