<div dir="ltr">Ping. Any ideas why reordering the kickstart scripts causes an internal server error and how I might recover?<div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Nov 21, 2017 at 9:13 AM, Brian Long <span dir="ltr"><<a href="mailto:briandlong@gmail.com" target="_blank">briandlong@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Running 2.7. Add a new kickstart script (specifying a snippet), try to change order, get an internal server error. catalina.out shows the following:<div><div><font face="monospace, monospace">2017-11-21 08:50:35,755 [TP-Processor12] WARN org.hibernate.util.<wbr>JDBCExceptionReporter - SQL Error: 0, SQLState: 23505</font></div><div><font face="monospace, monospace">2017-11-21 08:50:35,756 [TP-Processor12] ERROR org.hibernate.util.<wbr>JDBCExceptionReporter - ERROR: duplicate key value violates unique constraint "rhn_ksscript_ksid_pos_uq"</font></div><div><font face="monospace, monospace">2017-11-21 08:50:35,760 [TP-Processor12] ERROR com.redhat.rhn.frontend.<wbr>servlets.SessionFilter - Error during transaction. Rolling back</font></div><div><font face="monospace, monospace">org.hibernate.exception.<wbr>ConstraintViolationException: could not update: [com.redhat.rhn.domain.<wbr>kickstart.KickstartScript#50]</font></div></div><div><br></div><div>Ran spacewalk-sql -i to debug kickstart script ordering:</div><div><div><font face="monospace, monospace">rhnschema=# select * from RHNKICKSTARTSCRIPT where kickstart_id = 8;</font></div><div><font face="monospace, monospace">(snipped certain columns)</font></div><div><font face="monospace, monospace"> id | script_name | kickstart_id | position | script_type | chroot | error_on_fail | raw_script | interpreter | data</font></div><div><font face="monospace, monospace">-----+------------------------<wbr>--+--------------+----------+-<wbr>------------+--------+--------<wbr>-------+------------+---------<wbr>----+-------------------------<wbr>--</font></div><div><font face="monospace, monospace"> 48 | Import GPG Keys Pre | 8 | 1 | pre | Y | N | N | /bin/bash | $SNIPPET('spacewalk/2/import-<wbr>gpg-keys-el7')</font></div><div><font face="monospace, monospace"> 50 | Eject CD | 8 | 3 | post | Y | N | Y | /bin/bash | eject\012</font></div><div><font face="monospace, monospace"> 94 | Select install disk | 8 | 4 | pre | Y | Y | N | /bin/bash | $SNIPPET('spacewalk/2/select-<wbr>install-disk')</font></div><div><font face="monospace, monospace"> 120 | Install Packages | 8 | 5 | post | Y | N | N | /bin/bash | $SNIPPET('spacewalk/2/install-<wbr>pkgs-rhel7')</font></div><div><font face="monospace, monospace"> 99 | save-install-disk-config | 8 | 2 | post | Y | N | N | /bin/bash | $SNIPPET('spacewalk/2/save-<wbr>install-disk-config')</font></div><div><br></div></div><div>Just added #120 and it defaulted to position 5. If I move Eject CD below it and hit Submit, I get the traceback. If I update #50 to position 8 using SQL, it reorders properly.</div><div><br></div><div>Here's a list of all my kickstart scripts and their positions, etc.</div><div><div><font face="monospace, monospace">rhnschema=# select id,script_name, kickstart_id,position,script_<wbr>type from RHNKICKSTARTSCRIPT order by kickstart_id,position;</font></div><div><font face="monospace, monospace"> id | script_name | kickstart_id | position | script_type</font></div><div><font face="monospace, monospace">-----+------------------------<wbr>--------+--------------+------<wbr>----+-------------</font></div><div><font face="monospace, monospace"> 9 | Fix Crontab | 2 | 1 | post</font></div><div><font face="monospace, monospace"> 3 | Local Group Creation | 2 | 2 | post</font></div><div><font face="monospace, monospace"> 4 | User Home directory creation | 2 | 3 | post</font></div><div><font face="monospace, monospace"> 2 | Local User Account Creation | 2 | 4 | post</font></div><div><font face="monospace, monospace"> 73 | Import GPG Keys | 2 | 5 | post</font></div><div><font face="monospace, monospace"> 24 | Complete Installers PostScript | 2 | 8 | post</font></div><div><font face="monospace, monospace"> 98 | Update RHEL | 2 | 9 | post</font></div><div><font face="monospace, monospace"> 48 | Import GPG Keys Pre | 8 | 1 | pre</font></div><div><font face="monospace, monospace"> 99 | save-install-disk-config | 8 | 2 | post</font></div><div><font face="monospace, monospace"> 94 | Select install disk | 8 | 4 | pre</font></div><div><font face="monospace, monospace"> 120 | Install Packages | 8 | 5 | post</font></div><div><font face="monospace, monospace"> 50 | Eject CD | 8 | 8 | post</font></div><div><font face="monospace, monospace"> 101 | Import GPG Keys Pre | 17 | 1 | pre</font></div><div><font face="monospace, monospace"> 102 | save-install-disk-config | 17 | 2 | post</font></div><div><font face="monospace, monospace"> 103 | Select install disk | 17 | 4 | pre</font></div><div><font face="monospace, monospace"> 121 | Install Packages | 17 | 5 | post</font></div><div><font face="monospace, monospace"> 100 | Eject CD | 17 | 8 | post</font></div><div><font face="monospace, monospace"> 104 | Import GPG Keys Pre | 18 | 1 | pre</font></div><div><font face="monospace, monospace"> 105 | save-install-disk-config | 18 | 2 | post</font></div><div><font face="monospace, monospace"> 106 | Select install disk | 18 | 4 | pre</font></div><div><font face="monospace, monospace"> 122 | Install Packages | 18 | 5 | post</font></div><div><font face="monospace, monospace"> 107 | Eject CD | 18 | 8 | post</font></div><div><font face="monospace, monospace"> 108 | Import GPG Keys Pre | 19 | 1 | pre</font></div><div><font face="monospace, monospace"> 111 | save-install-disk-config | 19 | 2 | post</font></div><div><font face="monospace, monospace"> 110 | Select install disk | 19 | 4 | pre</font></div><div><font face="monospace, monospace"> 123 | Install Packages | 19 | 5 | post</font></div><div><font face="monospace, monospace"> 109 | Eject CD | 19 | 8 | post</font></div><div><br></div></div><div>And here is the current table description:</div><font face="monospace, monospace">rhnschema=# \d RHNKICKSTARTSCRIPT;<br> Table "public.rhnkickstartscript"<br> Column | Type | Modifiers<br>---------------+--------------<wbr>------------+-----------------<wbr>-------------<br> id | numeric | not null<br> script_name | character varying(40) |<br> kickstart_id | numeric | not null<br> position | numeric | not null<br> script_type | character varying(4) | not null<br> chroot | character(1) | not null default 'Y'::bpchar<br> error_on_fail | character(1) | not null default 'N'::bpchar<br> raw_script | character(1) | not null default 'Y'::bpchar<br> interpreter | character varying(80) |<br> data | bytea |<br> created | timestamp with time zone | not null default now()<br> modified | timestamp with time zone | not null default now()<br>Indexes:<br> "rhn_ksscript_id_pk" PRIMARY KEY, btree (id)<br> "rhn_ksscript_ksid_pos_uq" UNIQUE, btree (kickstart_id, "position")<br> "rhn_ksscript_id_idx" btree (id)<br> "rhn_ksscript_ksid_pos_idx" btree (kickstart_id, "position")<br>Check constraints:<br> "rhn_ksscript_chroot_ck" CHECK (chroot = ANY (ARRAY['Y'::bpchar, 'N'::bpchar]))<br> "rhn_ksscript_erroronfail_ck" CHECK (error_on_fail = ANY (ARRAY['Y'::bpchar, 'N'::bpchar]))<br> "rhn_ksscript_rawscript_ck" CHECK (raw_script = ANY (ARRAY['Y'::bpchar, 'N'::bpchar]))<br> "rhn_ksscript_st_ck" CHECK (script_type::text = ANY (ARRAY['pre'::character varying, 'post'::character varying]::text[]))<br> "vn_rhnkickstartscript_<wbr>interpreter" CHECK (interpreter::text <> ''::text)<br> "vn_rhnkickstartscript_script_<wbr>name" CHECK (script_name::text <> ''::text)<br> "vn_rhnkickstartscript_script_<wbr>type" CHECK (script_type::text <> ''::text)<br>Foreign-key constraints:<br> "rhn_ksscript_ksid_fk" FOREIGN KEY (kickstart_id) REFERENCES rhnksdata(id) ON DELETE CASCADE<br>Triggers:<br> rhn_ksscript_mod_trig BEFORE INSERT OR UPDATE ON rhnkickstartscript FOR EACH ROW EXECUTE PROCEDURE rhn_ksscript_mod_trig_fun()</font><div><br></div><div>Any ideas what might be wrong with my setup?</div><div><br></div><div>Thank you.</div><span class="HOEnZb"><font color="#888888"><div><br></div><div>/Brian/</div></font></span></div>
</blockquote></div><br></div>