/** * Cancel existing kickstart sessions on the host server for the system to be kickstarted (the * target server). */ private void cancelExistingSessions() { Server hostServer = getHostServer(); List sessions = KickstartFactory.lookupAllKickstartSessionsByServer(hostServer.getId()); if (sessions != null) { log.debug(" Found sessions: " + sessions); Iterator i = sessions.iterator(); while (i.hasNext()) { KickstartSession sess = (KickstartSession) i.next(); if (sess != null && sess.getState() != null) { log.debug( " Working with session: " + sess.getState().getLabel() + " id: " + sess.getId()); } KickstartSessionState state = sess.getState(); if (!state.equals(KickstartFactory.SESSION_STATE_FAILED) || !state.equals(KickstartFactory.SESSION_STATE_COMPLETE)) { log.debug( " need to cancel this Session this.s: " + hostServer.getId() + " sess.hostServer: " + (sess.getHostServer() == null ? "null" : "" + sess.getHostServer().getId())); if (sess.getHostServer() != null && sess.getHostServer().getId().equals(hostServer.getId())) { log.debug(" Marking session failed."); sess.markFailed( LocalizationService.getInstance().getMessage("kickstart.session.newsession")); } } } } }
public void testKsSessionPathparse() throws Exception { user.addPermanentRole(RoleFactory.ORG_ADMIN); KickstartSession session = KickstartSessionTest.createKickstartSession(ksdata, user); KickstartFactory.saveKickstartSession(session); session = (KickstartSession) reload(session); assertNotSame(session.getState(), KickstartFactory.SESSION_STATE_CONFIG_ACCESSED); String encodedSession = SessionSwap.encodeData(session.getId().toString()); // URL: /kickstart/ks/session/2xb7d56e8958b0425e762cc74e8705d8e7 String url = "http://rhn.redhat.com/session/ks/session/" + encodedSession; request.setAttribute(RequestContext.REQUESTED_URI, url); Map<String, Object> options = helper.parseKickstartUrl(url); assertNotNull(options); assertNotNull(options.get("org_id")); assertNotNull(options.get("ksdata")); assertNotNull(options.get("session")); assertNotNull(options.get("host")); assertEquals(session.getState(), KickstartFactory.SESSION_STATE_CONFIG_ACCESSED); }