DELETE_SERVER
Arguments:
| Name | Data Type | Default Value | In/Out |
|---|
| SERVER_ID_IN | NUMBER(38) | | IN |
DDL scriptSource
Legend: string keyword reserved word operator
1: procedure delete_server (
2: server_id_in in number
3: ) is
4: cursor servergroups is
5: select server_id, server_group_id
6: from rhnServerGroupMembers sgm
7: where sgm.server_id = server_id_in;
8: cursor configchannels is
9: select cc.id
10: from rhnConfigChannel cc,
11: rhnConfigChannelType cct,
12: rhnServerConfigChannel scc
13: where 1=1
14: and scc.server_id = server_id_in
15: and scc.config_channel_id = cc.id
16: and cct.label in
17: ('local_override','server_import')
18: and cct.id = cc.confchan_type_id;
19: cursor filelists is
20: select spfl.file_list_id id
21: from rhnServerPreserveFileList spfl
22: where spfl.server_id = server_id_in
23: and not exists (
24: select 1
25: from rhnServerPreserveFileList
26: where file_list_id = spfl.file_list_id
27: and server_id != server_id_in
28: union
29: select 1
30: from rhnKickstartPreserveFileList
31: where file_list_id = spfl.file_list_id
32: );
33: cluster_id number;
34: is_virt number := 0;
35: begin
36: rhn_channel.delete_server_channels(server_id_in);
37: for filelist in filelists loop
38: delete from rhnFileList where id = filelist.id;
39: end loop;
40: for configchannel in configchannels loop
41: rhn_config.delete_channel(configchannel.id);
42: end loop;
43: begin
44: select unique 1 into is_virt
45: from rhnServerEntitlementView
46: where server_id = server_id_in
47: and label in ('virtualization_host', 'virtualization_host_platform');
48: exception
49: when no_data_found then
50: is_virt := 0;
51: end;
52: for sgm in servergroups loop
53: rhn_server.delete_from_servergroup(
54: sgm.server_id, sgm.server_group_id);
55: end loop;
56: if is_virt = 1 then
57: rhn_entitlements.repoll_virt_guest_entitlements(server_id_in);
58: end if;
59: update rhnKickstartSession
60: set old_server_id = null
61: where old_server_id = server_id_in;
62: update rhnKickstartSession
63: set new_server_id = null
64: where new_server_id = server_id_in;
65: rhn_channel.clear_subscriptions(server_id_in,1);
66: delete from rhnVirtualInstance
67: where host_system_id = server_id_in
68: and virtual_system_id is null;
69: delete from rhnVirtualInstance
70: where virtual_system_id = server_id_in
71: and host_system_id is null;
72: delete from rhnVirtualInstance vi
73: where vi.virtual_system_id = server_id_in
74: and vi.modified < (select max(vi2.modified)
75: from rhnVirtualInstance vi2
76: where vi2.uuid = vi.uuid);
77: update rhnVirtualInstance
78: set host_system_id = null
79: where host_system_id = server_id_in;
80: update rhnVirtualInstance
81: set virtual_system_id = null
82: where virtual_system_id = server_id_in;
83: update rhnVirtualInstanceEventLog
84: set old_host_system_id = null
85: where old_host_system_id = server_id_in;
86: update rhnVirtualInstanceEventLog
87: set new_host_system_id = null
88: where new_host_system_id = server_id_in;
89: delete from rhnActionConfigChannel where server_id = server_id_in;
90: delete from rhnActionConfigRevision where server_id = server_id_in;
91: delete from rhnActionPackageRemovalFailure where server_id = server_id_in;
92: delete from rhnChannelFamilyLicenseConsent where server_id = server_id_in;
93: delete from rhnClientCapability where server_id = server_id_in;
94: delete from rhnCpu where server_id = server_id_in;
95: delete from rhnDevice where server_id = server_id_in;
96: delete from rhnProxyInfo where server_id = server_id_in;
97: delete from rhnRam where server_id = server_id_in;
98: delete from rhnRegToken where server_id = server_id_in;
99: delete from rhnSNPServerQueue where server_id = server_id_in;
100: delete from rhnSatelliteChannelFamily where server_id = server_id_in;
101: delete from rhnSatelliteInfo where server_id = server_id_in;
102: delete from rhnServerAction where server_id = server_id_in;
103: delete from rhnServerActionPackageResult where server_id = server_id_in;
104: delete from rhnServerActionScriptResult where server_id = server_id_in;
105: delete from rhnServerActionVerifyResult where server_id = server_id_in;
106: delete from rhnServerActionVerifyMissing where server_id = server_id_in;
107: delete from rhnServerChannel where server_id = server_id_in;
108: delete from rhnServerConfigChannel where server_id = server_id_in;
109: delete from rhnServerCustomDataValue where server_id = server_id_in;
110: delete from rhnServerDMI where server_id = server_id_in;
111: delete from rhnServerMessage where server_id = server_id_in;
112: delete from rhnServerEvent where server_id = server_id_in;
113: delete from rhnServerHistory where server_id = server_id_in;
114: delete from rhnServerInfo where server_id = server_id_in;
115: delete from rhnServerInstallInfo where server_id = server_id_in;
116: delete from rhnServerLocation where server_id = server_id_in;
117: delete from rhnServerLock where server_id = server_id_in;
118: delete from rhnServerNeededPackageCache where server_id = server_id_in;
119: delete from rhnServerNeededErrataCache where server_id = server_id_in;
120: delete from rhnServerNetwork where server_id = server_id_in;
121: delete from rhnServerNotes where server_id = server_id_in;
122: delete from rhnServerPackage where server_id = server_id_in;
123: delete from rhnServerTokenRegs where server_id = server_id_in;
124: delete from rhnSnapshotTag where server_id = server_id_in;
125: delete from rhnSnapshot where server_id = server_id_in;
126: delete from rhnTransaction where server_id = server_id_in;
127: delete from rhnUserServerPrefs where server_id = server_id_in;
128: delete from rhnServerPath where server_id_in in (server_id, proxy_server_id);
129: delete from rhnUserServerPerms where server_id = server_id_in;
130: delete from rhn_interface_monitoring where server_id = server_id_in;
131: delete from rhnServerNetInterface where server_id = server_id_in;
132: delete from rhn_server_monitoring_info where recid = server_id_in;
133: delete from rhnAppInstallSession where server_id = server_id_in;
134: delete from rhnServerUuid where server_id = server_id_in;
135: DELETE FROM rhn_probe_state PS WHERE PS.probe_id in
136: (SELECT CP.probe_id
137: FROM rhn_check_probe CP
138: WHERE CP.host_id = server_id_in
139: );
140: DELETE FROM rhn_probe P WHERE P.recid in
141: (SELECT CP.probe_id
142: FROM rhn_check_probe CP
143: WHERE CP.host_id = server_id_in
144: );
145: DELETE FROM rhn_probe_state PS
146: WHERE PS.probe_id in
147: (SELECT CP.probe_id
148: FROM rhn_check_probe CP
149: WHERE CP.sat_cluster_id in
150: (SELECT SN.sat_cluster_id
151: FROM rhn_sat_node SN
152: WHERE SN.server_id = server_id_in));
153: DELETE FROM rhn_probe P
154: WHERE P.recid in
155: (SELECT CP.probe_id
156: FROM rhn_check_probe CP
157: WHERE CP.sat_cluster_id in
158: (SELECT SN.sat_cluster_id
159: FROM rhn_sat_node SN
160: WHERE SN.server_id = server_id_in));
161: delete from rhn_check_probe where host_id = server_id_in;
162: delete from rhn_host_probe where host_id = server_id_in;
163: delete from rhn_sat_cluster where recid in
164: ( select sat_cluster_id from rhn_sat_node where server_id = server_id_in );
165: delete from rhn_sat_node where server_id = server_id_in;
166: delete
167: from rhnServer
168: where id = server_id_in;
169: delete
170: from rhnSet
171: where 1=1
172: and user_id in (
173: select wc.id
174: from rhnServer rs,
175: web_contact wc
176: where rs.id = server_id_in
177: and rs.org_id = wc.org_id
178: )
179: and label = 'system_list'
180: and element = server_id_in;
181: end delete_server;