3 -- import from Princeton codebase on august 2007 28
4 -- slice instantiation 'nm-controller'
8 INSERT INTO slice_instantiations (instantiation) VALUES ('nm-controller'); -- NM Controller
10 --------------------------------------------------------------------------------
12 --------------------------------------------------------------------------------
13 -- slice whitelist on nodes
14 CREATE TABLE node_slice_whitelist (
15 node_id integer REFERENCES nodes NOT NULL, -- Node id of whitelist
16 slice_id integer REFERENCES slices NOT NULL, -- Slice id thats allowd on this node
17 PRIMARY KEY (node_id, slice_id)
19 CREATE INDEX node_slice_whitelist_node_id_idx ON node_slice_whitelist (node_id);
20 CREATE INDEX node_slice_whitelist_slice_id_idx ON node_slice_whitelist (slice_id);
22 -- Slices on each node
23 CREATE VIEW node_slices_whitelist AS
25 array_accum(slice_id) AS slice_ids_whitelist
26 FROM node_slice_whitelist
32 CREATE OR REPLACE VIEW view_nodes AS
44 CAST(date_part('epoch', nodes.date_created) AS bigint) AS date_created,
45 CAST(date_part('epoch', nodes.last_updated) AS bigint) AS last_updated,
46 CAST(date_part('epoch', nodes.last_contact) AS bigint) AS last_contact,
48 peer_node.peer_node_id,
49 COALESCE((SELECT nodenetwork_ids FROM node_nodenetworks WHERE node_nodenetworks.node_id = nodes.node_id), '{}') AS nodenetwork_ids,
50 COALESCE((SELECT nodegroup_ids FROM node_nodegroups WHERE node_nodegroups.node_id = nodes.node_id), '{}') AS nodegroup_ids,
51 COALESCE((SELECT slice_ids FROM node_slices WHERE node_slices.node_id = nodes.node_id), '{}') AS slice_ids,
52 COALESCE((SELECT slice_ids_whitelist FROM node_slices_whitelist WHERE node_slices_whitelist.node_id = nodes.node_id), '{}') AS slice_ids_whitelist,
53 COALESCE((SELECT pcu_ids FROM node_pcus WHERE node_pcus.node_id = nodes.node_id), '{}') AS pcu_ids,
54 COALESCE((SELECT ports FROM node_pcus WHERE node_pcus.node_id = nodes.node_id), '{}') AS ports,
55 COALESCE((SELECT conf_file_ids FROM node_conf_files WHERE node_conf_files.node_id = nodes.node_id), '{}') AS conf_file_ids,
56 node_session.session_id AS session
58 LEFT JOIN peer_node USING (node_id)
59 LEFT JOIN node_session USING (node_id);
61 ---------- bump subversion
63 UPDATE plc_db_version SET subversion = 8;
64 SELECT subversion from plc_db_version;