Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
84 changes: 0 additions & 84 deletions packaging/dbscripts/inst_sp.sql
Original file line number Diff line number Diff line change
Expand Up @@ -65,88 +65,4 @@ BEGIN
END;$FUNCTION$
LANGUAGE plpgsql;

-- Adds a new glance provider, according to the specified arguments
CREATE OR REPLACE FUNCTION inst_add_glance_provider (
v_provider_id UUID,
v_provider_name VARCHAR(128),
v_provider_description VARCHAR(4000),
v_provider_url VARCHAR(512),
v_storage_domain_id UUID,
v_auth_required boolean DEFAULT false,
v_auth_username VARCHAR(64) DEFAULT NULL,
v_auth_password TEXT DEFAULT NULL,
v_auth_url TEXT DEFAULT NULL,
v_tenant_name VARCHAR(128) DEFAULT NULL
)
RETURNS VOID AS $FUNCTION$
BEGIN
-- Adding the Glance provider
INSERT INTO providers (
id,
name,
description,
url,
provider_type,
auth_required,
auth_username,
auth_password,
auth_url,
tenant_name
)
SELECT v_provider_id,
v_provider_name,
v_provider_description,
v_provider_url,
'OPENSTACK_IMAGE',
v_auth_required,
v_auth_username,
v_auth_password,
v_auth_url,
v_tenant_name
WHERE NOT EXISTS (
SELECT id
FROM providers
WHERE id = v_provider_id
);

-- Adding a proper storage domain static entry
INSERT INTO storage_domain_static (
id,
storage,
storage_name,
storage_domain_type,
storage_type,
storage_domain_format_type,
recoverable
)
SELECT v_storage_domain_id,
v_provider_id,
v_provider_name,
4,
8,
0,
true
WHERE NOT EXISTS (
SELECT id
FROM storage_domain_static
WHERE id = v_storage_domain_id
);

-- Adding a proper storage domain dynamic entry
INSERT INTO storage_domain_dynamic (
id,
available_disk_size,
used_disk_size
)
SELECT v_storage_domain_id,
NULL,
NULL
WHERE NOT EXISTS (
SELECT id
FROM storage_domain_dynamic
WHERE id = v_storage_domain_id
);
END;$FUNCTION$
LANGUAGE plpgsql;


Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
DROP FUNCTION IF EXISTS inst_add_glance_provider(
v_provider_id uuid,
v_provider_name varchar(128),
v_provider_description varchar(4000),
v_provider_url varchar(512),
v_storage_domain_id uuid,
v_auth_required boolean,
v_auth_username varchar(64),
v_auth_password text,
v_auth_url text,
v_tenant_name varchar(128)
);

DO $$
DECLARE
v_provider_id uuid := 'ceab03af-7220-4d42-8f5c-9b557f5d29af';
v_sd_id uuid := '072fbaa1-08f3-4a40-9f34-a5ca22dd1d74';
BEGIN
IF EXISTS (
SELECT 1
FROM providers
WHERE id = v_provider_id
AND name = 'ovirt-image-repository'
AND url = 'http://glance.ovirt.org:9292'
)
AND NOT EXISTS (SELECT 1 FROM disk_profiles WHERE storage_domain_id = v_sd_id)
AND NOT EXISTS (SELECT 1 FROM external_leases WHERE storage_domain_id = v_sd_id)
AND NOT EXISTS (SELECT 1 FROM image_storage_domain_map WHERE storage_domain_id = v_sd_id)
AND NOT EXISTS (SELECT 1 FROM mb_storage WHERE storage_domain_id = v_sd_id)
AND NOT EXISTS (SELECT 1 FROM quota_limitation WHERE storage_id = v_sd_id)
AND NOT EXISTS (SELECT 1 FROM repo_file_meta_data WHERE repo_domain_id = v_sd_id)
AND NOT EXISTS (SELECT 1 FROM storage_domain_dr WHERE storage_domain_id = v_sd_id)
AND NOT EXISTS (SELECT 1 FROM storage_domains_ovf_info WHERE storage_domain_id = v_sd_id)
AND NOT EXISTS (SELECT 1 FROM storage_pool_iso_map WHERE storage_id = v_sd_id)
AND NOT EXISTS (SELECT 1 FROM unregistered_disks WHERE storage_domain_id = v_sd_id)
AND NOT EXISTS (SELECT 1 FROM unregistered_ovf_of_entities WHERE storage_domain_id = v_sd_id)
AND NOT EXISTS (SELECT 1 FROM vm_static WHERE lease_sd_id = v_sd_id)

AND NOT EXISTS (SELECT 1 FROM cluster WHERE default_network_provider_id = v_provider_id)
AND NOT EXISTS (SELECT 1 FROM libvirt_secrets WHERE provider_id = v_provider_id)
AND NOT EXISTS (SELECT 1 FROM network WHERE provider_network_provider_id = v_provider_id)
AND NOT EXISTS (SELECT 1 FROM vds_static WHERE host_provider_id = v_provider_id)
AND NOT EXISTS (SELECT 1 FROM vm_static WHERE provider_id = v_provider_id)

AND NOT EXISTS (
SELECT 1
FROM storage_domain_static
WHERE id != v_sd_id
AND storage = v_provider_id::text
)
THEN
DELETE FROM storage_domain_dynamic
WHERE id = v_sd_id;

DELETE FROM storage_domain_static
WHERE id = v_sd_id
AND storage = v_provider_id::text;

DELETE FROM providers
WHERE id = v_provider_id;
END IF;
END;
$$;