-
Notifications
You must be signed in to change notification settings - Fork 39
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
23 changed files
with
114 additions
and
71 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1 @@ | ||
CREATE TYPE IF NOT EXISTS omicron.public.instance_state_v2 AS ENUM ( | ||
'creating', | ||
'no_vmm', | ||
'vmm', | ||
'failed', | ||
'destroyed' | ||
); | ||
DROP VIEW IF EXISTS omicron.public.v2p_mapping_view; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,7 @@ | ||
ALTER TABLE omicron.public.instance ADD COLUMN IF NOT EXISTS downlevel_state omicron.public.instance_state; | ||
CREATE TYPE IF NOT EXISTS omicron.public.instance_state_v2 AS ENUM ( | ||
'creating', | ||
'no_vmm', | ||
'vmm', | ||
'failed', | ||
'destroyed' | ||
); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1 @@ | ||
SET LOCAL disallow_full_table_scans = off; | ||
UPDATE omicron.public.instance SET downlevel_state = state; | ||
ALTER TABLE omicron.public.instance ADD COLUMN IF NOT EXISTS downlevel_state omicron.public.instance_state; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,2 @@ | ||
ALTER TABLE omicron.public.instance DROP COLUMN IF EXISTS state; | ||
SET LOCAL disallow_full_table_scans = off; | ||
UPDATE omicron.public.instance SET downlevel_state = state; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
ALTER TABLE omicron.public.instance ADD COLUMN IF NOT EXISTS state omicron.public.instance_state_v2; | ||
ALTER TABLE omicron.public.instance DROP COLUMN IF EXISTS state; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1 @@ | ||
SET LOCAL disallow_full_table_scans = off; | ||
UPDATE omicron.public.instance SET state = CASE | ||
WHEN downlevel_state = 'creating' THEN 'creating' | ||
WHEN downlevel_state = 'failed' THEN 'failed' | ||
WHEN downlevel_state = 'destroyed' THEN 'destroyed' | ||
WHEN active_propolis_id IS NOT NULL THEN 'vmm' | ||
ELSE 'no_vmm' | ||
END; | ||
ALTER TABLE omicron.public.instance ADD COLUMN IF NOT EXISTS state omicron.public.instance_state_v2; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,8 @@ | ||
ALTER TABLE omicron.public.instance ALTER COLUMN state SET NOT NULL; | ||
SET LOCAL disallow_full_table_scans = off; | ||
UPDATE omicron.public.instance SET state = CASE | ||
WHEN downlevel_state = 'creating' THEN 'creating' | ||
WHEN downlevel_state = 'failed' THEN 'failed' | ||
WHEN downlevel_state = 'destroyed' THEN 'destroyed' | ||
WHEN active_propolis_id IS NOT NULL THEN 'vmm' | ||
ELSE 'no_vmm' | ||
END; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
ALTER TABLE omicron.public.instance DROP COLUMN IF EXISTS downlevel_state; | ||
ALTER TABLE omicron.public.instance ALTER COLUMN state SET NOT NULL; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,10 +1 @@ | ||
CREATE TYPE IF NOT EXISTS omicron.public.vmm_state AS ENUM ( | ||
'starting', | ||
'running', | ||
'stopping', | ||
'stopped', | ||
'rebooting', | ||
'migrating', | ||
'failed', | ||
'destroyed' | ||
); | ||
ALTER TABLE omicron.public.instance DROP COLUMN IF EXISTS downlevel_state; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,10 @@ | ||
ALTER TABLE omicron.public.vmm ADD COLUMN IF NOT EXISTS downlevel_state omicron.public.instance_state; | ||
CREATE TYPE IF NOT EXISTS omicron.public.vmm_state AS ENUM ( | ||
'starting', | ||
'running', | ||
'stopping', | ||
'stopped', | ||
'rebooting', | ||
'migrating', | ||
'failed', | ||
'destroyed' | ||
); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1 @@ | ||
SET LOCAL disallow_full_table_scans = off; | ||
UPDATE omicron.public.vmm SET downlevel_state = state; | ||
ALTER TABLE omicron.public.vmm ADD COLUMN IF NOT EXISTS downlevel_state omicron.public.instance_state; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,2 @@ | ||
ALTER TABLE omicron.public.vmm DROP COLUMN IF EXISTS state; | ||
SET LOCAL disallow_full_table_scans = off; | ||
UPDATE omicron.public.vmm SET downlevel_state = state; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
ALTER TABLE omicron.public.vmm ADD COLUMN IF NOT EXISTS state omicron.public.vmm_state; | ||
ALTER TABLE omicron.public.vmm DROP COLUMN IF EXISTS state; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1 @@ | ||
SET LOCAL disallow_full_table_scans = off; | ||
UPDATE omicron.public.vmm SET state = downlevel_state::text::vmm_state; | ||
ALTER TABLE omicron.public.vmm ADD COLUMN IF NOT EXISTS state omicron.public.vmm_state; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,2 @@ | ||
ALTER TABLE omicron.public.vmm ALTER COLUMN state SET NOT NULL; | ||
SET LOCAL disallow_full_table_scans = off; | ||
UPDATE omicron.public.vmm SET state = downlevel_state::text::vmm_state; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
ALTER TABLE omicron.public.vmm DROP COLUMN IF EXISTS downlevel_state; | ||
ALTER TABLE omicron.public.vmm ALTER COLUMN state SET NOT NULL; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,23 +1 @@ | ||
CREATE OR REPLACE VIEW omicron.public.sled_instance | ||
AS SELECT | ||
instance.id, | ||
instance.name, | ||
silo.name as silo_name, | ||
project.name as project_name, | ||
vmm.sled_id as active_sled_id, | ||
instance.time_created, | ||
instance.time_modified, | ||
instance.migration_id, | ||
instance.ncpus, | ||
instance.memory, | ||
vmm.state | ||
FROM | ||
omicron.public.instance AS instance | ||
JOIN omicron.public.project AS project ON | ||
instance.project_id = project.id | ||
JOIN omicron.public.silo AS silo ON | ||
project.silo_id = silo.id | ||
JOIN omicron.public.vmm AS vmm ON | ||
instance.active_propolis_id = vmm.id | ||
WHERE | ||
instance.time_deleted IS NULL AND vmm.time_deleted IS NULL; | ||
ALTER TABLE omicron.public.vmm DROP COLUMN IF EXISTS downlevel_state; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,23 @@ | ||
DROP TYPE IF EXISTS omicron.public.instance_state; | ||
CREATE OR REPLACE VIEW omicron.public.sled_instance | ||
AS SELECT | ||
instance.id, | ||
instance.name, | ||
silo.name as silo_name, | ||
project.name as project_name, | ||
vmm.sled_id as active_sled_id, | ||
instance.time_created, | ||
instance.time_modified, | ||
instance.migration_id, | ||
instance.ncpus, | ||
instance.memory, | ||
vmm.state | ||
FROM | ||
omicron.public.instance AS instance | ||
JOIN omicron.public.project AS project ON | ||
instance.project_id = project.id | ||
JOIN omicron.public.silo AS silo ON | ||
project.silo_id = silo.id | ||
JOIN omicron.public.vmm AS vmm ON | ||
instance.active_propolis_id = vmm.id | ||
WHERE | ||
instance.time_deleted IS NULL AND vmm.time_deleted IS NULL; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
DROP TYPE IF EXISTS omicron.public.instance_state; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
CREATE VIEW IF NOT EXISTS omicron.public.v2p_mapping_view | ||
AS | ||
WITH VmV2pMappings AS ( | ||
SELECT | ||
n.id as nic_id, | ||
s.id as sled_id, | ||
s.ip as sled_ip, | ||
v.vni, | ||
n.mac, | ||
n.ip | ||
FROM omicron.public.network_interface n | ||
JOIN omicron.public.vpc_subnet vs ON vs.id = n.subnet_id | ||
JOIN omicron.public.vpc v ON v.id = n.vpc_id | ||
JOIN omicron.public.vmm vmm ON n.parent_id = vmm.instance_id | ||
JOIN omicron.public.sled s ON vmm.sled_id = s.id | ||
WHERE n.time_deleted IS NULL | ||
AND n.kind = 'instance' | ||
AND (vmm.state = 'running' OR vmm.state = 'starting') | ||
AND s.sled_policy = 'in_service' | ||
AND s.sled_state = 'active' | ||
), | ||
ProbeV2pMapping AS ( | ||
SELECT | ||
n.id as nic_id, | ||
s.id as sled_id, | ||
s.ip as sled_ip, | ||
v.vni, | ||
n.mac, | ||
n.ip | ||
FROM omicron.public.network_interface n | ||
JOIN omicron.public.vpc_subnet vs ON vs.id = n.subnet_id | ||
JOIN omicron.public.vpc v ON v.id = n.vpc_id | ||
JOIN omicron.public.probe p ON n.parent_id = p.id | ||
JOIN omicron.public.sled s ON p.sled = s.id | ||
WHERE n.time_deleted IS NULL | ||
AND n.kind = 'probe' | ||
AND s.sled_policy = 'in_service' | ||
AND s.sled_state = 'active' | ||
) | ||
SELECT nic_id, sled_id, sled_ip, vni, mac, ip FROM VmV2pMappings | ||
UNION | ||
SELECT nic_id, sled_id, sled_ip, vni, mac, ip FROM ProbeV2pMapping; |