Brian Long: > Ping. Any ideas why reordering the kickstart scripts causes an internal > server error and how I might recover?
Hello Brian, I was able to reproduce your issue. This is clearly a bug in Spacewalk. Unfortunately thre's no better workaround than update order in database. Please file a bugzilla for it. Thanks, Michael > On Tue, Nov 21, 2017 at 9:13 AM, Brian Long <[email protected]> wrote: > > 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: > > 2017-11-21 08:50:35,755 [TP-Processor12] WARN > > org.hibernate.util.JDBCExceptionReporter > > - SQL Error: 0, SQLState: 23505 > > 2017-11-21 08:50:35,756 [TP-Processor12] ERROR > > org.hibernate.util.JDBCExceptionReporter > > - ERROR: duplicate key value violates unique constraint > > "rhn_ksscript_ksid_pos_uq" > > 2017-11-21 08:50:35,760 [TP-Processor12] ERROR > > com.redhat.rhn.frontend.servlets.SessionFilter > > - Error during transaction. Rolling back > > org.hibernate.exception.ConstraintViolationException: could not update: > > [com.redhat.rhn.domain.kickstart.KickstartScript#50] > > > > Ran spacewalk-sql -i to debug kickstart script ordering: > > rhnschema=# select * from RHNKICKSTARTSCRIPT where kickstart_id = 8; > > (snipped certain columns) > > id | script_name | kickstart_id | position | script_type | > > chroot | error_on_fail | raw_script | interpreter | > > data > > -----+--------------------------+--------------+----------+- > > ------------+--------+---------------+------------+--------- > > ----+--------------------------- > > 48 | Import GPG Keys Pre | 8 | 1 | pre | > > Y | N | N | /bin/bash | > > $SNIPPET('spacewalk/2/import-gpg-keys-el7') > > 50 | Eject CD | 8 | 3 | post | > > Y | N | Y | /bin/bash | eject\012 > > 94 | Select install disk | 8 | 4 | pre | > > Y | Y | N | /bin/bash | > > $SNIPPET('spacewalk/2/select-install-disk') > > 120 | Install Packages | 8 | 5 | post | > > Y | N | N | /bin/bash | > > $SNIPPET('spacewalk/2/install-pkgs-rhel7') > > 99 | save-install-disk-config | 8 | 2 | post | > > Y | N | N | /bin/bash | > > $SNIPPET('spacewalk/2/save-install-disk-config') > > > > 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. > > > > Here's a list of all my kickstart scripts and their positions, etc. > > rhnschema=# select id,script_name, kickstart_id,position,script_type from > > RHNKICKSTARTSCRIPT order by kickstart_id,position; > > id | script_name | kickstart_id | position | > > script_type > > -----+--------------------------------+--------------+------ > > ----+------------- > > 9 | Fix Crontab | 2 | 1 | post > > 3 | Local Group Creation | 2 | 2 | post > > 4 | User Home directory creation | 2 | 3 | post > > 2 | Local User Account Creation | 2 | 4 | post > > 73 | Import GPG Keys | 2 | 5 | post > > 24 | Complete Installers PostScript | 2 | 8 | post > > 98 | Update RHEL | 2 | 9 | post > > 48 | Import GPG Keys Pre | 8 | 1 | pre > > 99 | save-install-disk-config | 8 | 2 | post > > 94 | Select install disk | 8 | 4 | pre > > 120 | Install Packages | 8 | 5 | post > > 50 | Eject CD | 8 | 8 | post > > 101 | Import GPG Keys Pre | 17 | 1 | pre > > 102 | save-install-disk-config | 17 | 2 | post > > 103 | Select install disk | 17 | 4 | pre > > 121 | Install Packages | 17 | 5 | post > > 100 | Eject CD | 17 | 8 | post > > 104 | Import GPG Keys Pre | 18 | 1 | pre > > 105 | save-install-disk-config | 18 | 2 | post > > 106 | Select install disk | 18 | 4 | pre > > 122 | Install Packages | 18 | 5 | post > > 107 | Eject CD | 18 | 8 | post > > 108 | Import GPG Keys Pre | 19 | 1 | pre > > 111 | save-install-disk-config | 19 | 2 | post > > 110 | Select install disk | 19 | 4 | pre > > 123 | Install Packages | 19 | 5 | post > > 109 | Eject CD | 19 | 8 | post > > > > And here is the current table description: > > rhnschema=# \d RHNKICKSTARTSCRIPT; > > Table "public.rhnkickstartscript" > > Column | Type | Modifiers > > ---------------+--------------------------+------------------------------ > > id | numeric | not null > > script_name | character varying(40) | > > kickstart_id | numeric | not null > > position | numeric | not null > > script_type | character varying(4) | not null > > chroot | character(1) | not null default 'Y'::bpchar > > error_on_fail | character(1) | not null default 'N'::bpchar > > raw_script | character(1) | not null default 'Y'::bpchar > > interpreter | character varying(80) | > > data | bytea | > > created | timestamp with time zone | not null default now() > > modified | timestamp with time zone | not null default now() > > Indexes: > > "rhn_ksscript_id_pk" PRIMARY KEY, btree (id) > > "rhn_ksscript_ksid_pos_uq" UNIQUE, btree (kickstart_id, "position") > > "rhn_ksscript_id_idx" btree (id) > > "rhn_ksscript_ksid_pos_idx" btree (kickstart_id, "position") > > Check constraints: > > "rhn_ksscript_chroot_ck" CHECK (chroot = ANY (ARRAY['Y'::bpchar, > > 'N'::bpchar])) > > "rhn_ksscript_erroronfail_ck" CHECK (error_on_fail = ANY > > (ARRAY['Y'::bpchar, 'N'::bpchar])) > > "rhn_ksscript_rawscript_ck" CHECK (raw_script = ANY > > (ARRAY['Y'::bpchar, 'N'::bpchar])) > > "rhn_ksscript_st_ck" CHECK (script_type::text = ANY > > (ARRAY['pre'::character varying, 'post'::character varying]::text[])) > > "vn_rhnkickstartscript_interpreter" CHECK (interpreter::text <> > > ''::text) > > "vn_rhnkickstartscript_script_name" CHECK (script_name::text <> > > ''::text) > > "vn_rhnkickstartscript_script_type" CHECK (script_type::text <> > > ''::text) > > Foreign-key constraints: > > "rhn_ksscript_ksid_fk" FOREIGN KEY (kickstart_id) REFERENCES > > rhnksdata(id) ON DELETE CASCADE > > Triggers: > > rhn_ksscript_mod_trig BEFORE INSERT OR UPDATE ON rhnkickstartscript > > FOR EACH ROW EXECUTE PROCEDURE rhn_ksscript_mod_trig_fun() > > > > Any ideas what might be wrong with my setup? > > > > Thank you. > > > > /Brian/ > > -- Michael Mráka System Management Engineering, Red Hat _______________________________________________ Spacewalk-list mailing list [email protected] https://www.redhat.com/mailman/listinfo/spacewalk-list
