2 commits - java/code
by Devan Goodwin
java/code/src/com/redhat/rhn/common/messaging/test/MessageQueueTest.java | 2
java/code/src/com/redhat/rhn/frontend/action/user/DeleteUserAction.java | 16 ++-
java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_en_US.xml | 7 +
java/code/src/com/redhat/rhn/frontend/xmlrpc/DeleteUserException.java | 40 +++++++
java/code/src/com/redhat/rhn/frontend/xmlrpc/user/UserHandler.java | 12 ++
java/code/src/com/redhat/rhn/manager/user/DeleteSatAdminException.java | 52 ++++++++++
java/code/src/com/redhat/rhn/manager/user/UserManager.java | 11 ++
7 files changed, 137 insertions(+), 3 deletions(-)
New commits:
commit 7387b64ad2241c37ab1ce5c2fc734c1510fae514
Author: Devan Goodwin <dgoodwin(a)redhat.com>
Date: Tue Jun 30 15:57:48 2009 -0300
508789 - Block deletion of last remaining Satellite Administrator.
diff --git a/java/code/src/com/redhat/rhn/frontend/action/user/DeleteUserAction.java b/java/code/src/com/redhat/rhn/frontend/action/user/DeleteUserAction.java
index 809f4c1..d17484b 100644
--- a/java/code/src/com/redhat/rhn/frontend/action/user/DeleteUserAction.java
+++ b/java/code/src/com/redhat/rhn/frontend/action/user/DeleteUserAction.java
@@ -21,6 +21,7 @@ import com.redhat.rhn.domain.user.User;
import com.redhat.rhn.frontend.struts.RequestContext;
import com.redhat.rhn.frontend.struts.RhnAction;
import com.redhat.rhn.manager.acl.AclManager;
+import com.redhat.rhn.manager.user.DeleteSatAdminException;
import com.redhat.rhn.manager.user.UserManager;
import org.apache.struts.action.ActionErrors;
@@ -83,7 +84,20 @@ public class DeleteUserAction extends RhnAction {
return getStrutsDelegate().forwardParams(mapping.findForward("failure"),
params);
}
- UserManager.deleteUser(loggedInUser, uid);
+
+ try {
+ UserManager.deleteUser(loggedInUser, uid);
+ }
+ catch (DeleteSatAdminException e) {
+ errors.add(ActionMessages.GLOBAL_MESSAGE,
+ new ActionMessage("user.cannot.delete.last.sat.admin"));
+ Map params = new HashMap();
+ params.put("uid", uid);
+ addErrors(request, errors);
+ return getStrutsDelegate().forwardParams(mapping.findForward("failure"),
+ params);
+ }
+
ActionMessages msg = new ActionMessages();
msg.add(ActionMessages.GLOBAL_MESSAGE,
new ActionMessage("user.delete", user.getLogin()));
diff --git a/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_en_US.xml b/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_en_US.xml
index a1d65ac..32fafc1 100644
--- a/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_en_US.xml
+++ b/java/code/src/com/redhat/rhn/frontend/strings/java/StringResource_en_US.xml
@@ -1085,6 +1085,13 @@ http://www.oasis-open.org/committees/xliff/documents/xliff-core-1.1.xsd"
</context-group>
</trans-unit>
+ <trans-unit id="user.cannot.delete.last.sat.admin">
+<source>Cannot delete the last remaining satellite administrator.</source>
+ <context-group name="ctx">
+ <context context-type="sourcefile">/rhn/users/DeleteUser</context>
+ </context-group>
+ </trans-unit>
+
<trans-unit id="Users/Servers">
<source>Users/Servers</source>
<context-group name="ctx">
diff --git a/java/code/src/com/redhat/rhn/frontend/xmlrpc/DeleteUserException.java b/java/code/src/com/redhat/rhn/frontend/xmlrpc/DeleteUserException.java
new file mode 100644
index 0000000..4d5b2c8
--- /dev/null
+++ b/java/code/src/com/redhat/rhn/frontend/xmlrpc/DeleteUserException.java
@@ -0,0 +1,40 @@
+/**
+ * Copyright (c) 2009 Red Hat, Inc.
+ *
+ * This software is licensed to you under the GNU General Public License,
+ * version 2 (GPLv2). There is NO WARRANTY for this software, express or
+ * implied, including the implied warranties of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. You should have received a copy of GPLv2
+ * along with this software; if not, see
+ * http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt.
+ *
+ * Red Hat trademarks are not licensed under GPLv2. No permission is
+ * granted to use or replicate Red Hat trademarks that are incorporated
+ * in this software or its documentation.
+ */
+
+package com.redhat.rhn.frontend.xmlrpc;
+
+import com.redhat.rhn.FaultException;
+import com.redhat.rhn.common.localization.LocalizationService;
+
+/**
+ * Delete User Exception
+ *
+ * Thrown whenever a problem occurs deleting a user.
+ *
+ * @version $Rev$
+ */
+public class DeleteUserException extends FaultException {
+
+ /**
+ * Constructor
+ * @param resourceKey Resource bundle key for error message to return.
+ */
+ public DeleteUserException(String resourceKey) {
+ super(2601, "Error deleting user", LocalizationService.getInstance().
+ getMessage(resourceKey, new Object [] {}));
+ }
+
+}
+
diff --git a/java/code/src/com/redhat/rhn/frontend/xmlrpc/user/UserHandler.java b/java/code/src/com/redhat/rhn/frontend/xmlrpc/user/UserHandler.java
index 15ae77f..71fcd0c 100644
--- a/java/code/src/com/redhat/rhn/frontend/xmlrpc/user/UserHandler.java
+++ b/java/code/src/com/redhat/rhn/frontend/xmlrpc/user/UserHandler.java
@@ -14,6 +14,10 @@
*/
package com.redhat.rhn.frontend.xmlrpc.user;
+import com.redhat.rhn.frontend.xmlrpc.DeleteUserException;
+
+import com.redhat.rhn.manager.user.DeleteSatAdminException;
+
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
@@ -535,7 +539,13 @@ public class UserHandler extends BaseHandler {
User loggedInUser = getLoggedInUser(sessionKey);
ensureOrgAdmin(loggedInUser);
User target = XmlRpcUserHelper.getInstance().lookupTargetUser(loggedInUser, login);
- UserManager.deleteUser(loggedInUser, target.getId());
+
+ try {
+ UserManager.deleteUser(loggedInUser, target.getId());
+ }
+ catch (DeleteSatAdminException e) {
+ throw new DeleteUserException("user.cannot.delete.last.sat.admin");
+ }
return 1;
}
diff --git a/java/code/src/com/redhat/rhn/manager/user/DeleteSatAdminException.java b/java/code/src/com/redhat/rhn/manager/user/DeleteSatAdminException.java
new file mode 100644
index 0000000..c1d4482
--- /dev/null
+++ b/java/code/src/com/redhat/rhn/manager/user/DeleteSatAdminException.java
@@ -0,0 +1,52 @@
+/**
+ * Copyright (c) 2009 Red Hat, Inc.
+ *
+ * This software is licensed to you under the GNU General Public License,
+ * version 2 (GPLv2). There is NO WARRANTY for this software, express or
+ * implied, including the implied warranties of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. You should have received a copy of GPLv2
+ * along with this software; if not, see
+ * http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt.
+ *
+ * Red Hat trademarks are not licensed under GPLv2. No permission is
+ * granted to use or replicate Red Hat trademarks that are incorporated
+ * in this software or its documentation.
+ */
+package com.redhat.rhn.manager.user;
+
+import com.redhat.rhn.common.RhnRuntimeException;
+
+import com.redhat.rhn.domain.user.User;
+
+/**
+ * DeleteSatAdminException
+ *
+ * Exception thrown when we cannot delete a Satellite administrator. (presumably because
+ * they are the last remaining)
+ *
+ * @version $Rev$
+ */
+public class DeleteSatAdminException extends RhnRuntimeException {
+
+ private User targetUser;
+
+ /**
+ * Constructor
+ *
+ * @param targetUserIn User we could not delete.
+ */
+ public DeleteSatAdminException(User targetUserIn) {
+ super();
+ this.targetUser = targetUserIn;
+ }
+
+ /**
+ * Return the target user we could not delete.
+ *
+ * @return target user
+ */
+ public User getTargetUser() {
+ return targetUser;
+ }
+
+}
diff --git a/java/code/src/com/redhat/rhn/manager/user/UserManager.java b/java/code/src/com/redhat/rhn/manager/user/UserManager.java
index b2c26e1..ae9208f 100644
--- a/java/code/src/com/redhat/rhn/manager/user/UserManager.java
+++ b/java/code/src/com/redhat/rhn/manager/user/UserManager.java
@@ -40,6 +40,7 @@ import com.redhat.rhn.frontend.dto.SystemSearchResult;
import com.redhat.rhn.frontend.listview.PageControl;
import com.redhat.rhn.frontend.taglibs.list.decorators.PageSizeDecorator;
import com.redhat.rhn.manager.BaseManager;
+import com.redhat.rhn.manager.SatManager;
import org.apache.commons.lang.BooleanUtils;
import org.apache.log4j.Logger;
@@ -450,6 +451,16 @@ public class UserManager extends BaseManager {
pex.setLocalizedSummary(ls.getMessage("permission.jsp.summary.deleteuser"));
throw pex;
}
+
+ // Do not allow deletion of the last Satellite Administrator:
+ User toDelete = UserFactory.lookupById(loggedInUser, targetUid);
+ if (toDelete.hasRole(RoleFactory.SAT_ADMIN)) {
+ if (SatManager.getActiveSatAdmins().size() == 1) {
+ log.warn("Cannot delete the last Satellite Administrator");
+ throw new DeleteSatAdminException(toDelete);
+ }
+ }
+
CallableMode m = ModeFactory.getCallableMode("User_queries",
"delete_user");
Map inParams = new HashMap();
commit 0df9b87830366aabe192b1a7d7c75d4ee79c1a02
Author: Devan Goodwin <dgoodwin(a)redhat.com>
Date: Mon Jun 29 10:09:06 2009 -0300
Bumping timeout on Message Queue Test.
It appears to fail sometimes.
diff --git a/java/code/src/com/redhat/rhn/common/messaging/test/MessageQueueTest.java b/java/code/src/com/redhat/rhn/common/messaging/test/MessageQueueTest.java
index 077ea62..9ff3c31 100644
--- a/java/code/src/com/redhat/rhn/common/messaging/test/MessageQueueTest.java
+++ b/java/code/src/com/redhat/rhn/common/messaging/test/MessageQueueTest.java
@@ -227,7 +227,7 @@ public class MessageQueueTest extends RhnBaseTestCase {
if (count > 25) {
break;
}
- Thread.sleep(100);
+ Thread.sleep(500);
}
if (matchingValue) {
assertTrue(wasReceived);
14 years, 10 months
Branch 'VADER' - java/code
by Partha Aji
java/code/src/com/redhat/rhn/frontend/action/kickstart/KickstartSoftwareEditAction.java | 41 ++++++----
java/code/webapp/WEB-INF/pages/kickstart/softwareedit.jsp | 7 -
2 files changed, 29 insertions(+), 19 deletions(-)
New commits:
commit 5e297d3f61874b2c4316073878cda85b9cf51687
Author: Partha Aji <paji(a)redhat.com>
Date: Tue Jun 30 15:08:05 2009 -0400
508962 - Fixed KS software edit page to hide repo section if tree is not rhel 5
diff --git a/java/code/src/com/redhat/rhn/frontend/action/kickstart/KickstartSoftwareEditAction.java b/java/code/src/com/redhat/rhn/frontend/action/kickstart/KickstartSoftwareEditAction.java
index aa2dc00..d69922b 100644
--- a/java/code/src/com/redhat/rhn/frontend/action/kickstart/KickstartSoftwareEditAction.java
+++ b/java/code/src/com/redhat/rhn/frontend/action/kickstart/KickstartSoftwareEditAction.java
@@ -71,7 +71,7 @@ public class KickstartSoftwareEditAction extends BaseKickstartEditAction {
String fieldChanged = form.getString("fieldChanged");
KickstartEditCommand cmd = (KickstartEditCommand) cmdIn;
KickstartableTree tree = cmd.getKickstartData().getKickstartDefaults().getKstree();
- KickstartHelper kshelper = new KickstartHelper(ctx.getRequest());
+ KickstartableTree selectedTree;
List trees = null;
Long incomingChannelId = (Long) form.get(CHANNEL);
Long channelId = incomingChannelId;
@@ -88,6 +88,7 @@ public class KickstartSoftwareEditAction extends BaseKickstartEditAction {
ctx.getCurrentUser().getOrg());
}
setupUrl(ctx, form, kstree);
+ selectedTree = kstree;
}
else {
if (form.get(CHANNEL) != null) {
@@ -104,12 +105,14 @@ public class KickstartSoftwareEditAction extends BaseKickstartEditAction {
ctx.getCurrentUser().getOrg());
}
setupUrl(ctx, form, kstree);
+ selectedTree = kstree;
}
if (fieldChanged.equals("kstree")) {
KickstartableTree kstree =
KickstartFactory.lookupKickstartTreeByIdAndOrg((Long) form.get(TREE),
ctx.getCurrentUser().getOrg());
setupUrl(ctx, form, kstree);
+ selectedTree = kstree;
}
ctx.getRequest().setAttribute(TREES, trees);
if (trees == null || trees.size() == 0) {
@@ -143,7 +146,7 @@ public class KickstartSoftwareEditAction extends BaseKickstartEditAction {
if (form.getString(URL) == null) {
ctx.getRequest().setAttribute("nourl", "true");
}
- setupRepos(ctx, form, cmd.getKickstartData());
+ setupRepos(ctx, form, cmd.getKickstartData(), selectedTree);
}
private void setupChildChannels(RequestContext ctx, Long channelId,
@@ -244,21 +247,27 @@ public class KickstartSoftwareEditAction extends BaseKickstartEditAction {
}
private void setupRepos(RequestContext context,
- DynaActionForm form, KickstartData ksdata) {
- List <LabelValueEnabledBean> repos = new LinkedList<LabelValueEnabledBean>();
- for (String name : RepoInfo.getStandardRepos().keySet()) {
- repos.add(lve(name, name, false));
- }
- form.set(POSSIBLE_REPOS, (LabelValueEnabledBean[])
- repos.toArray(new LabelValueEnabledBean[0]));
- Set<RepoInfo> selected = ksdata.getRepoInfos();
- String [] items = new String[selected.size()];
- int i = 0;
- for (RepoInfo repo : selected) {
- items[i] = repo.getName();
- i++;
+ DynaActionForm form, KickstartData ksdata,
+ KickstartableTree tree) {
+
+ if (tree != null && !tree.getInstallType().isRhel2() &&
+ !tree.getInstallType().isRhel3() &&
+ !tree.getInstallType().isRhel4()) {
+ List <LabelValueEnabledBean> repos = new LinkedList<LabelValueEnabledBean>();
+ for (String name : RepoInfo.getStandardRepos().keySet()) {
+ repos.add(lve(name, name, false));
+ }
+ form.set(POSSIBLE_REPOS, (LabelValueEnabledBean[])
+ repos.toArray(new LabelValueEnabledBean[0]));
+ Set<RepoInfo> selected = ksdata.getRepoInfos();
+ String [] items = new String[selected.size()];
+ int i = 0;
+ for (RepoInfo repo : selected) {
+ items[i] = repo.getName();
+ i++;
+ }
+ form.set(SELECTED_REPOS, items);
}
- form.set(SELECTED_REPOS, items);
}
/**
diff --git a/java/code/webapp/WEB-INF/pages/kickstart/softwareedit.jsp b/java/code/webapp/WEB-INF/pages/kickstart/softwareedit.jsp
index 2961b69..dc07c22 100644
--- a/java/code/webapp/WEB-INF/pages/kickstart/softwareedit.jsp
+++ b/java/code/webapp/WEB-INF/pages/kickstart/softwareedit.jsp
@@ -107,10 +107,11 @@ function reloadForm(ctl) {
</c:choose>
</td>
</tr>
+ <c:if test = "${not empty kickstartSoftwareForm.map.possibleRepos}">
<tr>
<th><bean:message key="softwareedit.jsp.repos" />:</th>
<td>
- <c:if test = "${not empty kickstartSoftwareForm.map.possibleRepos}">
+
<c:forEach items="${kickstartSoftwareForm.map.possibleRepos}" var="item">
<html:multibox property="selectedRepos" disabled="${item.disabled}">
${item.value}
@@ -118,10 +119,10 @@ function reloadForm(ctl) {
${item.label}
<br />
</c:forEach>
- </c:if><br/><rhn:tooltip key="softwareedit.jsp.repos-tooltip"/>
+ <br/><rhn:tooltip key="softwareedit.jsp.repos-tooltip"/>
</td>
</tr>
-
+ </c:if>
<tr>
<td align="right" colspan="2"><html:submit><bean:message key="kickstartdetails.jsp.updatekickstart"/></html:submit></td>
</tr>
14 years, 10 months
java/code
by Partha Aji
java/code/src/com/redhat/rhn/frontend/action/kickstart/KickstartSoftwareEditAction.java | 41 ++++++----
java/code/webapp/WEB-INF/pages/kickstart/softwareedit.jsp | 7 -
2 files changed, 29 insertions(+), 19 deletions(-)
New commits:
commit 9666fb3f37bf2361db12ea32e111deb64acab9e2
Author: Partha Aji <paji(a)redhat.com>
Date: Tue Jun 30 15:08:05 2009 -0400
508962 - Fixed KS software edit page to hide repo section if tree is not rhel 5
diff --git a/java/code/src/com/redhat/rhn/frontend/action/kickstart/KickstartSoftwareEditAction.java b/java/code/src/com/redhat/rhn/frontend/action/kickstart/KickstartSoftwareEditAction.java
index aa2dc00..d69922b 100644
--- a/java/code/src/com/redhat/rhn/frontend/action/kickstart/KickstartSoftwareEditAction.java
+++ b/java/code/src/com/redhat/rhn/frontend/action/kickstart/KickstartSoftwareEditAction.java
@@ -71,7 +71,7 @@ public class KickstartSoftwareEditAction extends BaseKickstartEditAction {
String fieldChanged = form.getString("fieldChanged");
KickstartEditCommand cmd = (KickstartEditCommand) cmdIn;
KickstartableTree tree = cmd.getKickstartData().getKickstartDefaults().getKstree();
- KickstartHelper kshelper = new KickstartHelper(ctx.getRequest());
+ KickstartableTree selectedTree;
List trees = null;
Long incomingChannelId = (Long) form.get(CHANNEL);
Long channelId = incomingChannelId;
@@ -88,6 +88,7 @@ public class KickstartSoftwareEditAction extends BaseKickstartEditAction {
ctx.getCurrentUser().getOrg());
}
setupUrl(ctx, form, kstree);
+ selectedTree = kstree;
}
else {
if (form.get(CHANNEL) != null) {
@@ -104,12 +105,14 @@ public class KickstartSoftwareEditAction extends BaseKickstartEditAction {
ctx.getCurrentUser().getOrg());
}
setupUrl(ctx, form, kstree);
+ selectedTree = kstree;
}
if (fieldChanged.equals("kstree")) {
KickstartableTree kstree =
KickstartFactory.lookupKickstartTreeByIdAndOrg((Long) form.get(TREE),
ctx.getCurrentUser().getOrg());
setupUrl(ctx, form, kstree);
+ selectedTree = kstree;
}
ctx.getRequest().setAttribute(TREES, trees);
if (trees == null || trees.size() == 0) {
@@ -143,7 +146,7 @@ public class KickstartSoftwareEditAction extends BaseKickstartEditAction {
if (form.getString(URL) == null) {
ctx.getRequest().setAttribute("nourl", "true");
}
- setupRepos(ctx, form, cmd.getKickstartData());
+ setupRepos(ctx, form, cmd.getKickstartData(), selectedTree);
}
private void setupChildChannels(RequestContext ctx, Long channelId,
@@ -244,21 +247,27 @@ public class KickstartSoftwareEditAction extends BaseKickstartEditAction {
}
private void setupRepos(RequestContext context,
- DynaActionForm form, KickstartData ksdata) {
- List <LabelValueEnabledBean> repos = new LinkedList<LabelValueEnabledBean>();
- for (String name : RepoInfo.getStandardRepos().keySet()) {
- repos.add(lve(name, name, false));
- }
- form.set(POSSIBLE_REPOS, (LabelValueEnabledBean[])
- repos.toArray(new LabelValueEnabledBean[0]));
- Set<RepoInfo> selected = ksdata.getRepoInfos();
- String [] items = new String[selected.size()];
- int i = 0;
- for (RepoInfo repo : selected) {
- items[i] = repo.getName();
- i++;
+ DynaActionForm form, KickstartData ksdata,
+ KickstartableTree tree) {
+
+ if (tree != null && !tree.getInstallType().isRhel2() &&
+ !tree.getInstallType().isRhel3() &&
+ !tree.getInstallType().isRhel4()) {
+ List <LabelValueEnabledBean> repos = new LinkedList<LabelValueEnabledBean>();
+ for (String name : RepoInfo.getStandardRepos().keySet()) {
+ repos.add(lve(name, name, false));
+ }
+ form.set(POSSIBLE_REPOS, (LabelValueEnabledBean[])
+ repos.toArray(new LabelValueEnabledBean[0]));
+ Set<RepoInfo> selected = ksdata.getRepoInfos();
+ String [] items = new String[selected.size()];
+ int i = 0;
+ for (RepoInfo repo : selected) {
+ items[i] = repo.getName();
+ i++;
+ }
+ form.set(SELECTED_REPOS, items);
}
- form.set(SELECTED_REPOS, items);
}
/**
diff --git a/java/code/webapp/WEB-INF/pages/kickstart/softwareedit.jsp b/java/code/webapp/WEB-INF/pages/kickstart/softwareedit.jsp
index eea1562..cda5b3d 100644
--- a/java/code/webapp/WEB-INF/pages/kickstart/softwareedit.jsp
+++ b/java/code/webapp/WEB-INF/pages/kickstart/softwareedit.jsp
@@ -101,10 +101,11 @@ function reloadForm(ctl) {
</c:choose>
</td>
</tr>
+ <c:if test = "${not empty kickstartSoftwareForm.map.possibleRepos}">
<tr>
<th><bean:message key="softwareedit.jsp.repos" />:</th>
<td>
- <c:if test = "${not empty kickstartSoftwareForm.map.possibleRepos}">
+
<c:forEach items="${kickstartSoftwareForm.map.possibleRepos}" var="item">
<html:multibox property="selectedRepos" disabled="${item.disabled}">
${item.value}
@@ -112,10 +113,10 @@ function reloadForm(ctl) {
${item.label}
<br />
</c:forEach>
- </c:if><br/><rhn:tooltip key="softwareedit.jsp.repos-tooltip"/>
+ <br/><rhn:tooltip key="softwareedit.jsp.repos-tooltip"/>
</td>
</tr>
-
+ </c:if>
<tr>
<td align="right" colspan="2"><html:submit><bean:message key="kickstartdetails.jsp.updatekickstart"/></html:submit></td>
</tr>
14 years, 10 months
Branch 'VADER' - java/code
by Mike McCune
java/code/src/com/redhat/rhn/common/conf/Config.java | 10 ++++++
java/code/src/com/redhat/rhn/domain/kickstart/KickstartData.java | 15 ++++++++++
java/code/src/com/redhat/rhn/domain/kickstart/test/KickstartDataTest.java | 13 ++++++++
java/code/src/com/redhat/rhn/frontend/action/kickstart/KickstartDetailsEditAction.java | 4 +-
java/code/src/com/redhat/rhn/manager/kickstart/cobbler/CobblerProfileCreateCommand.java | 2 -
5 files changed, 41 insertions(+), 3 deletions(-)
New commits:
commit 827aefe6a7b13bff7b6b9db297f975dc7b7bf46d
Author: Mike McCune <mmccune(a)gibson.pdx.redhat.com>
Date: Tue Jun 30 11:44:03 2009 -0700
508790 - use virbr0 for KVM guest defaults
diff --git a/java/code/src/com/redhat/rhn/common/conf/Config.java b/java/code/src/com/redhat/rhn/common/conf/Config.java
index ad40462..5106870 100644
--- a/java/code/src/com/redhat/rhn/common/conf/Config.java
+++ b/java/code/src/com/redhat/rhn/common/conf/Config.java
@@ -794,6 +794,16 @@ public class Config {
public String getDefaultXenVirtBridge() {
return getString(VIRT_BRIDGE, "xenbr0");
}
+
+ /**
+ * Returns the default value for the xen virt bridge
+ * @return the value for virt bridge.
+ */
+ public String getDefaultKVMVirtBridge() {
+ return getString(VIRT_BRIDGE, "virbr0");
+ }
+
+
/**
* Returns the default virt disk size in GBs
* @return the virt disk size
diff --git a/java/code/src/com/redhat/rhn/domain/kickstart/KickstartData.java b/java/code/src/com/redhat/rhn/domain/kickstart/KickstartData.java
index b1d4c91..88feacc 100644
--- a/java/code/src/com/redhat/rhn/domain/kickstart/KickstartData.java
+++ b/java/code/src/com/redhat/rhn/domain/kickstart/KickstartData.java
@@ -1483,4 +1483,19 @@ public class KickstartData {
this.kickstartType = kickstartTypeIn;
}
+ /**
+ * Get the default virt bridge for this KickstartData object.
+ *
+ * @return String virt bridge (xenbr0, virbr0)
+ */
+ public String getDefaultVirtBridge() {
+ if (this.getKickstartDefaults().getVirtualizationType().getLabel()
+ .equals(KickstartVirtualizationType.KVM_FULLYVIRT)) {
+ return Config.get().getDefaultKVMVirtBridge();
+ }
+ else {
+ return Config.get().getDefaultXenVirtBridge();
+ }
+ }
+
}
diff --git a/java/code/src/com/redhat/rhn/domain/kickstart/test/KickstartDataTest.java b/java/code/src/com/redhat/rhn/domain/kickstart/test/KickstartDataTest.java
index a75cbc3..317055d 100644
--- a/java/code/src/com/redhat/rhn/domain/kickstart/test/KickstartDataTest.java
+++ b/java/code/src/com/redhat/rhn/domain/kickstart/test/KickstartDataTest.java
@@ -757,4 +757,17 @@ public class KickstartDataTest extends BaseTestCaseWithUser {
assertTrue(k.isRhel5OrGreater());
assertFalse(k.isRhel5());
}
+
+ public void testDefaultBridge() throws Exception {
+ KickstartData k = createKickstartWithChannel(user.getOrg());
+ k.getKickstartDefaults().
+ setVirtualizationType(KickstartVirtualizationType.kvmGuest());
+
+ assertTrue(k.getDefaultVirtBridge().equals(Config.get().getDefaultKVMVirtBridge()));
+
+ k.getKickstartDefaults().
+ setVirtualizationType(KickstartVirtualizationType.xenPV());
+
+ assertTrue(k.getDefaultVirtBridge().equals(Config.get().getDefaultXenVirtBridge()));
+ }
}
diff --git a/java/code/src/com/redhat/rhn/frontend/action/kickstart/KickstartDetailsEditAction.java b/java/code/src/com/redhat/rhn/frontend/action/kickstart/KickstartDetailsEditAction.java
index 1e65b36..e2fb148 100644
--- a/java/code/src/com/redhat/rhn/frontend/action/kickstart/KickstartDetailsEditAction.java
+++ b/java/code/src/com/redhat/rhn/frontend/action/kickstart/KickstartDetailsEditAction.java
@@ -152,14 +152,14 @@ public class KickstartDetailsEditAction extends BaseKickstartEditAction {
if (!type.equals(KickstartVirtualizationType.paraHost()) &&
!type.equals(KickstartVirtualizationType.none())) {
if (prof == null) {
- form.set(VIRT_BRIDGE, Config.get().getDefaultXenVirtBridge());
+ form.set(VIRT_BRIDGE, data.getDefaultVirtBridge());
form.set(VIRT_CPU, Config.get().getDefaultVirtCpus());
form.set(VIRT_DISK_SIZE, Config.get().getDefaultVirtDiskSize());
form.set(VIRT_MEMORY, Config.get().getDefaultVirtMemorySize());
}
else {
setFormValueOrDefault(form, VIRT_BRIDGE, prof.getVirtBridge(),
- Config.get().getDefaultXenVirtBridge());
+ data.getDefaultVirtBridge());
setFormValueOrDefault(form, VIRT_CPU, prof.getVirtCpus(),
Config.get().getDefaultVirtCpus());
setFormValueOrDefault(form, VIRT_DISK_SIZE, prof.getVirtFileSize(),
diff --git a/java/code/src/com/redhat/rhn/manager/kickstart/cobbler/CobblerProfileCreateCommand.java b/java/code/src/com/redhat/rhn/manager/kickstart/cobbler/CobblerProfileCreateCommand.java
index 510967c..6f52d29 100644
--- a/java/code/src/com/redhat/rhn/manager/kickstart/cobbler/CobblerProfileCreateCommand.java
+++ b/java/code/src/com/redhat/rhn/manager/kickstart/cobbler/CobblerProfileCreateCommand.java
@@ -75,7 +75,7 @@ public class CobblerProfileCreateCommand extends CobblerProfileCommand {
meta.put("org", ksData.getOrg().getId().toString());
prof.setKsMeta(meta);
KickstartFactory.saveKickstartData(this.ksData);
- prof.setVirtBridge(Config.get().getDefaultXenVirtBridge());
+ prof.setVirtBridge(this.ksData.getDefaultVirtBridge());
prof.setVirtCpus(Config.get().getDefaultVirtCpus());
prof.setVirtRam(Config.get().getDefaultVirtMemorySize());
prof.setVirtFileSize(Config.get().getDefaultVirtDiskSize());
14 years, 10 months
java/code
by Mike McCune
java/code/src/com/redhat/rhn/common/conf/Config.java | 10 ++++++
java/code/src/com/redhat/rhn/domain/kickstart/KickstartData.java | 15 ++++++++++
java/code/src/com/redhat/rhn/domain/kickstart/test/KickstartDataTest.java | 13 ++++++++
java/code/src/com/redhat/rhn/frontend/action/kickstart/KickstartDetailsEditAction.java | 4 +-
java/code/src/com/redhat/rhn/manager/kickstart/cobbler/CobblerProfileCreateCommand.java | 2 -
5 files changed, 41 insertions(+), 3 deletions(-)
New commits:
commit 3c0955251af6e6f38136b0ea3d55d507ba79c27e
Author: Mike McCune <mmccune(a)gibson.pdx.redhat.com>
Date: Tue Jun 30 11:44:03 2009 -0700
508790 - use virbr0 for KVM guest defaults
diff --git a/java/code/src/com/redhat/rhn/common/conf/Config.java b/java/code/src/com/redhat/rhn/common/conf/Config.java
index ad40462..5106870 100644
--- a/java/code/src/com/redhat/rhn/common/conf/Config.java
+++ b/java/code/src/com/redhat/rhn/common/conf/Config.java
@@ -794,6 +794,16 @@ public class Config {
public String getDefaultXenVirtBridge() {
return getString(VIRT_BRIDGE, "xenbr0");
}
+
+ /**
+ * Returns the default value for the xen virt bridge
+ * @return the value for virt bridge.
+ */
+ public String getDefaultKVMVirtBridge() {
+ return getString(VIRT_BRIDGE, "virbr0");
+ }
+
+
/**
* Returns the default virt disk size in GBs
* @return the virt disk size
diff --git a/java/code/src/com/redhat/rhn/domain/kickstart/KickstartData.java b/java/code/src/com/redhat/rhn/domain/kickstart/KickstartData.java
index b1d4c91..88feacc 100644
--- a/java/code/src/com/redhat/rhn/domain/kickstart/KickstartData.java
+++ b/java/code/src/com/redhat/rhn/domain/kickstart/KickstartData.java
@@ -1483,4 +1483,19 @@ public class KickstartData {
this.kickstartType = kickstartTypeIn;
}
+ /**
+ * Get the default virt bridge for this KickstartData object.
+ *
+ * @return String virt bridge (xenbr0, virbr0)
+ */
+ public String getDefaultVirtBridge() {
+ if (this.getKickstartDefaults().getVirtualizationType().getLabel()
+ .equals(KickstartVirtualizationType.KVM_FULLYVIRT)) {
+ return Config.get().getDefaultKVMVirtBridge();
+ }
+ else {
+ return Config.get().getDefaultXenVirtBridge();
+ }
+ }
+
}
diff --git a/java/code/src/com/redhat/rhn/domain/kickstart/test/KickstartDataTest.java b/java/code/src/com/redhat/rhn/domain/kickstart/test/KickstartDataTest.java
index a75cbc3..317055d 100644
--- a/java/code/src/com/redhat/rhn/domain/kickstart/test/KickstartDataTest.java
+++ b/java/code/src/com/redhat/rhn/domain/kickstart/test/KickstartDataTest.java
@@ -757,4 +757,17 @@ public class KickstartDataTest extends BaseTestCaseWithUser {
assertTrue(k.isRhel5OrGreater());
assertFalse(k.isRhel5());
}
+
+ public void testDefaultBridge() throws Exception {
+ KickstartData k = createKickstartWithChannel(user.getOrg());
+ k.getKickstartDefaults().
+ setVirtualizationType(KickstartVirtualizationType.kvmGuest());
+
+ assertTrue(k.getDefaultVirtBridge().equals(Config.get().getDefaultKVMVirtBridge()));
+
+ k.getKickstartDefaults().
+ setVirtualizationType(KickstartVirtualizationType.xenPV());
+
+ assertTrue(k.getDefaultVirtBridge().equals(Config.get().getDefaultXenVirtBridge()));
+ }
}
diff --git a/java/code/src/com/redhat/rhn/frontend/action/kickstart/KickstartDetailsEditAction.java b/java/code/src/com/redhat/rhn/frontend/action/kickstart/KickstartDetailsEditAction.java
index 1e65b36..e2fb148 100644
--- a/java/code/src/com/redhat/rhn/frontend/action/kickstart/KickstartDetailsEditAction.java
+++ b/java/code/src/com/redhat/rhn/frontend/action/kickstart/KickstartDetailsEditAction.java
@@ -152,14 +152,14 @@ public class KickstartDetailsEditAction extends BaseKickstartEditAction {
if (!type.equals(KickstartVirtualizationType.paraHost()) &&
!type.equals(KickstartVirtualizationType.none())) {
if (prof == null) {
- form.set(VIRT_BRIDGE, Config.get().getDefaultXenVirtBridge());
+ form.set(VIRT_BRIDGE, data.getDefaultVirtBridge());
form.set(VIRT_CPU, Config.get().getDefaultVirtCpus());
form.set(VIRT_DISK_SIZE, Config.get().getDefaultVirtDiskSize());
form.set(VIRT_MEMORY, Config.get().getDefaultVirtMemorySize());
}
else {
setFormValueOrDefault(form, VIRT_BRIDGE, prof.getVirtBridge(),
- Config.get().getDefaultXenVirtBridge());
+ data.getDefaultVirtBridge());
setFormValueOrDefault(form, VIRT_CPU, prof.getVirtCpus(),
Config.get().getDefaultVirtCpus());
setFormValueOrDefault(form, VIRT_DISK_SIZE, prof.getVirtFileSize(),
diff --git a/java/code/src/com/redhat/rhn/manager/kickstart/cobbler/CobblerProfileCreateCommand.java b/java/code/src/com/redhat/rhn/manager/kickstart/cobbler/CobblerProfileCreateCommand.java
index 510967c..6f52d29 100644
--- a/java/code/src/com/redhat/rhn/manager/kickstart/cobbler/CobblerProfileCreateCommand.java
+++ b/java/code/src/com/redhat/rhn/manager/kickstart/cobbler/CobblerProfileCreateCommand.java
@@ -75,7 +75,7 @@ public class CobblerProfileCreateCommand extends CobblerProfileCommand {
meta.put("org", ksData.getOrg().getId().toString());
prof.setKsMeta(meta);
KickstartFactory.saveKickstartData(this.ksData);
- prof.setVirtBridge(Config.get().getDefaultXenVirtBridge());
+ prof.setVirtBridge(this.ksData.getDefaultVirtBridge());
prof.setVirtCpus(Config.get().getDefaultVirtCpus());
prof.setVirtRam(Config.get().getDefaultVirtMemorySize());
prof.setVirtFileSize(Config.get().getDefaultVirtDiskSize());
14 years, 10 months
java/code
by Partha Aji
java/code/src/com/redhat/rhn/frontend/action/kickstart/KickstartDetailsEditAction.java | 46 +++++-----
java/code/webapp/WEB-INF/pages/common/fragments/kickstart/advanced/details.jspf | 14 ---
java/code/webapp/WEB-INF/pages/common/fragments/kickstart/virtoptions.jspf | 21 +++-
java/code/webapp/WEB-INF/pages/kickstart/kickstartdetails.jsp | 15 ---
4 files changed, 42 insertions(+), 54 deletions(-)
New commits:
commit 1f2d364188f760587962e6b39f041e0cd5f5e962
Author: Partha Aji <paji(a)redhat.com>
Date: Tue Jun 30 14:06:22 2009 -0400
508705 - Fixed KS details page to hide virt options if virt type is none
diff --git a/java/code/src/com/redhat/rhn/frontend/action/kickstart/KickstartDetailsEditAction.java b/java/code/src/com/redhat/rhn/frontend/action/kickstart/KickstartDetailsEditAction.java
index 93f74ef..1e65b36 100644
--- a/java/code/src/com/redhat/rhn/frontend/action/kickstart/KickstartDetailsEditAction.java
+++ b/java/code/src/com/redhat/rhn/frontend/action/kickstart/KickstartDetailsEditAction.java
@@ -146,29 +146,29 @@ public class KickstartDetailsEditAction extends BaseKickstartEditAction {
form.set(KERNEL_OPTIONS, prof.getKernelOptionsString());
form.set(POST_KERNEL_OPTIONS, prof.getKernelPostOptionsString());
}
-
- if (prof == null) {
- form.set(VIRT_BRIDGE, Config.get().getDefaultXenVirtBridge());
- form.set(VIRT_CPU, Config.get().getDefaultVirtCpus());
- form.set(VIRT_DISK_SIZE, Config.get().getDefaultVirtDiskSize());
- form.set(VIRT_MEMORY, Config.get().getDefaultVirtMemorySize());
- }
- else {
- setFormValueOrDefault(form, VIRT_BRIDGE, prof.getVirtBridge(),
- Config.get().getDefaultXenVirtBridge());
- setFormValueOrDefault(form, VIRT_CPU, prof.getVirtCpus(),
- Config.get().getDefaultVirtCpus());
- setFormValueOrDefault(form, VIRT_DISK_SIZE, prof.getVirtFileSize(),
- Config.get().getDefaultVirtDiskSize());
- setFormValueOrDefault(form, VIRT_MEMORY, prof.getVirtRam(),
- Config.get().getDefaultVirtMemorySize());
- }
-
-
- //Should we show virt options?
- ctx.getRequest().setAttribute(IS_VIRT, !data.getKickstartDefaults().
- getVirtualizationType().equals(KickstartFactory.VIRT_TYPE_PV_HOST));
-
+ KickstartVirtualizationType type = data.getKickstartDefaults().
+ getVirtualizationType();
+ //Should we show virt options?
+ if (!type.equals(KickstartVirtualizationType.paraHost()) &&
+ !type.equals(KickstartVirtualizationType.none())) {
+ if (prof == null) {
+ form.set(VIRT_BRIDGE, Config.get().getDefaultXenVirtBridge());
+ form.set(VIRT_CPU, Config.get().getDefaultVirtCpus());
+ form.set(VIRT_DISK_SIZE, Config.get().getDefaultVirtDiskSize());
+ form.set(VIRT_MEMORY, Config.get().getDefaultVirtMemorySize());
+ }
+ else {
+ setFormValueOrDefault(form, VIRT_BRIDGE, prof.getVirtBridge(),
+ Config.get().getDefaultXenVirtBridge());
+ setFormValueOrDefault(form, VIRT_CPU, prof.getVirtCpus(),
+ Config.get().getDefaultVirtCpus());
+ setFormValueOrDefault(form, VIRT_DISK_SIZE, prof.getVirtFileSize(),
+ Config.get().getDefaultVirtDiskSize());
+ setFormValueOrDefault(form, VIRT_MEMORY, prof.getVirtRam(),
+ Config.get().getDefaultVirtMemorySize());
+ }
+ ctx.getRequest().setAttribute(IS_VIRT, Boolean.TRUE);
+ }
}
diff --git a/java/code/webapp/WEB-INF/pages/common/fragments/kickstart/advanced/details.jspf b/java/code/webapp/WEB-INF/pages/common/fragments/kickstart/advanced/details.jspf
index 571b990..e290a04 100644
--- a/java/code/webapp/WEB-INF/pages/common/fragments/kickstart/advanced/details.jspf
+++ b/java/code/webapp/WEB-INF/pages/common/fragments/kickstart/advanced/details.jspf
@@ -30,18 +30,8 @@
</td>
</tr>
- <tr>
- <th><bean:message key="kickstart.jsp.create.wizard.virtualization.label" /></th>
- <td colspan="2" align="left">
- <html:select property="virtualizationTypeLabel">
- <html:optionsCollection property="virtualizationTypes" label="formattedName" value="label" />
- </html:select>
- </td>
- </tr>
-
- <c:if test="${is_virt}">
- <%@ include file="/WEB-INF/pages/common/fragments/kickstart/virtoptions.jspf" %>
- </c:if>
+ <%@ include file="/WEB-INF/pages/common/fragments/kickstart/virtoptions.jspf" %>
+
<c:if test="${empty requestScope.create}">
diff --git a/java/code/webapp/WEB-INF/pages/common/fragments/kickstart/virtoptions.jspf b/java/code/webapp/WEB-INF/pages/common/fragments/kickstart/virtoptions.jspf
index cbcb96d..93506eb 100644
--- a/java/code/webapp/WEB-INF/pages/common/fragments/kickstart/virtoptions.jspf
+++ b/java/code/webapp/WEB-INF/pages/common/fragments/kickstart/virtoptions.jspf
@@ -1,7 +1,15 @@
-
-
-
-
+ <tr>
+ <th><bean:message key="kickstartdetails.jsp.virtualization_type" /></th>
+ <td colspan="2" align="left">
+ <html:select property="virtualizationTypeLabel" onchange="this.form.submit();return true;">
+ <html:optionsCollection property="virtualizationTypes" label="formattedName" value="label"/>
+ </html:select><br/>
+ <c:if test="${not ksdata.rawData}">
+ <span class="small-text"><bean:message key="kickstartdetails.jsp.virtTypeChangeWarning" arg0="${ksdata.id}"/></span>
+ </c:if>
+ </td>
+ </tr>
+<c:if test="${not empty requestScope.is_virt}">
<tr>
<th><bean:message key="kickstartdetails.jsp.virt_mem_mb"/>:</th>
<td><html:text property="virt_mem_mb" size="10" /></td>
@@ -19,5 +27,6 @@
<tr>
<th><bean:message key="kickstartdetails.jsp.virt_bridge"/>:</th>
<td><html:text property="virt_bridge" size="10" /></td>
- </tr>
-
\ No newline at end of file
+ </tr>
+
+</c:if>
\ No newline at end of file
diff --git a/java/code/webapp/WEB-INF/pages/kickstart/kickstartdetails.jsp b/java/code/webapp/WEB-INF/pages/kickstart/kickstartdetails.jsp
index ccab725..eca73ce 100644
--- a/java/code/webapp/WEB-INF/pages/kickstart/kickstartdetails.jsp
+++ b/java/code/webapp/WEB-INF/pages/kickstart/kickstartdetails.jsp
@@ -32,20 +32,9 @@
<td><strong><c:out value="${ksdata.kickstartDefaults.kstree.channel.name}"/></strong>
<a href="/rhn/kickstart/KickstartSoftwareEdit.do?ksid=${ksdata.id}">(<bean:message key="kickstartdetails.jsp.changeos"/>)</a></td>
</tr>
- <tr>
- <th><bean:message key="kickstartdetails.jsp.virtualization_type" /></th>
- <td colspan="2" align="left">
- <html:select property="virtualizationTypeLabel">
- <html:optionsCollection property="virtualizationTypes" label="formattedName" value="label" />
- </html:select><br/>
- <span class="small-text"><bean:message key="kickstartdetails.jsp.virtTypeChangeWarning" arg0="${ksdata.id}"/></span>
- </td>
- </tr>
-
- <c:if test="${is_virt}">
- <%@ include file="/WEB-INF/pages/common/fragments/kickstart/virtoptions.jspf" %>
- </c:if>
+ <%@ include file="/WEB-INF/pages/common/fragments/kickstart/virtoptions.jspf" %>
+
14 years, 10 months
Branch 'VADER' - java/code
by Partha Aji
java/code/src/com/redhat/rhn/frontend/action/kickstart/KickstartDetailsEditAction.java | 46 +++++-----
java/code/webapp/WEB-INF/pages/common/fragments/kickstart/advanced/details.jspf | 14 ---
java/code/webapp/WEB-INF/pages/common/fragments/kickstart/virtoptions.jspf | 21 +++-
java/code/webapp/WEB-INF/pages/kickstart/kickstartdetails.jsp | 15 ---
4 files changed, 42 insertions(+), 54 deletions(-)
New commits:
commit 067afa47558decb4671d8273e0d631b683e593d8
Author: Partha Aji <paji(a)redhat.com>
Date: Tue Jun 30 14:06:22 2009 -0400
508705 - Fixed KS details page to hide virt options if virt type is none
diff --git a/java/code/src/com/redhat/rhn/frontend/action/kickstart/KickstartDetailsEditAction.java b/java/code/src/com/redhat/rhn/frontend/action/kickstart/KickstartDetailsEditAction.java
index 93f74ef..1e65b36 100644
--- a/java/code/src/com/redhat/rhn/frontend/action/kickstart/KickstartDetailsEditAction.java
+++ b/java/code/src/com/redhat/rhn/frontend/action/kickstart/KickstartDetailsEditAction.java
@@ -146,29 +146,29 @@ public class KickstartDetailsEditAction extends BaseKickstartEditAction {
form.set(KERNEL_OPTIONS, prof.getKernelOptionsString());
form.set(POST_KERNEL_OPTIONS, prof.getKernelPostOptionsString());
}
-
- if (prof == null) {
- form.set(VIRT_BRIDGE, Config.get().getDefaultXenVirtBridge());
- form.set(VIRT_CPU, Config.get().getDefaultVirtCpus());
- form.set(VIRT_DISK_SIZE, Config.get().getDefaultVirtDiskSize());
- form.set(VIRT_MEMORY, Config.get().getDefaultVirtMemorySize());
- }
- else {
- setFormValueOrDefault(form, VIRT_BRIDGE, prof.getVirtBridge(),
- Config.get().getDefaultXenVirtBridge());
- setFormValueOrDefault(form, VIRT_CPU, prof.getVirtCpus(),
- Config.get().getDefaultVirtCpus());
- setFormValueOrDefault(form, VIRT_DISK_SIZE, prof.getVirtFileSize(),
- Config.get().getDefaultVirtDiskSize());
- setFormValueOrDefault(form, VIRT_MEMORY, prof.getVirtRam(),
- Config.get().getDefaultVirtMemorySize());
- }
-
-
- //Should we show virt options?
- ctx.getRequest().setAttribute(IS_VIRT, !data.getKickstartDefaults().
- getVirtualizationType().equals(KickstartFactory.VIRT_TYPE_PV_HOST));
-
+ KickstartVirtualizationType type = data.getKickstartDefaults().
+ getVirtualizationType();
+ //Should we show virt options?
+ if (!type.equals(KickstartVirtualizationType.paraHost()) &&
+ !type.equals(KickstartVirtualizationType.none())) {
+ if (prof == null) {
+ form.set(VIRT_BRIDGE, Config.get().getDefaultXenVirtBridge());
+ form.set(VIRT_CPU, Config.get().getDefaultVirtCpus());
+ form.set(VIRT_DISK_SIZE, Config.get().getDefaultVirtDiskSize());
+ form.set(VIRT_MEMORY, Config.get().getDefaultVirtMemorySize());
+ }
+ else {
+ setFormValueOrDefault(form, VIRT_BRIDGE, prof.getVirtBridge(),
+ Config.get().getDefaultXenVirtBridge());
+ setFormValueOrDefault(form, VIRT_CPU, prof.getVirtCpus(),
+ Config.get().getDefaultVirtCpus());
+ setFormValueOrDefault(form, VIRT_DISK_SIZE, prof.getVirtFileSize(),
+ Config.get().getDefaultVirtDiskSize());
+ setFormValueOrDefault(form, VIRT_MEMORY, prof.getVirtRam(),
+ Config.get().getDefaultVirtMemorySize());
+ }
+ ctx.getRequest().setAttribute(IS_VIRT, Boolean.TRUE);
+ }
}
diff --git a/java/code/webapp/WEB-INF/pages/common/fragments/kickstart/advanced/details.jspf b/java/code/webapp/WEB-INF/pages/common/fragments/kickstart/advanced/details.jspf
index 571b990..e290a04 100644
--- a/java/code/webapp/WEB-INF/pages/common/fragments/kickstart/advanced/details.jspf
+++ b/java/code/webapp/WEB-INF/pages/common/fragments/kickstart/advanced/details.jspf
@@ -30,18 +30,8 @@
</td>
</tr>
- <tr>
- <th><bean:message key="kickstart.jsp.create.wizard.virtualization.label" /></th>
- <td colspan="2" align="left">
- <html:select property="virtualizationTypeLabel">
- <html:optionsCollection property="virtualizationTypes" label="formattedName" value="label" />
- </html:select>
- </td>
- </tr>
-
- <c:if test="${is_virt}">
- <%@ include file="/WEB-INF/pages/common/fragments/kickstart/virtoptions.jspf" %>
- </c:if>
+ <%@ include file="/WEB-INF/pages/common/fragments/kickstart/virtoptions.jspf" %>
+
<c:if test="${empty requestScope.create}">
diff --git a/java/code/webapp/WEB-INF/pages/common/fragments/kickstart/virtoptions.jspf b/java/code/webapp/WEB-INF/pages/common/fragments/kickstart/virtoptions.jspf
index cbcb96d..93506eb 100644
--- a/java/code/webapp/WEB-INF/pages/common/fragments/kickstart/virtoptions.jspf
+++ b/java/code/webapp/WEB-INF/pages/common/fragments/kickstart/virtoptions.jspf
@@ -1,7 +1,15 @@
-
-
-
-
+ <tr>
+ <th><bean:message key="kickstartdetails.jsp.virtualization_type" /></th>
+ <td colspan="2" align="left">
+ <html:select property="virtualizationTypeLabel" onchange="this.form.submit();return true;">
+ <html:optionsCollection property="virtualizationTypes" label="formattedName" value="label"/>
+ </html:select><br/>
+ <c:if test="${not ksdata.rawData}">
+ <span class="small-text"><bean:message key="kickstartdetails.jsp.virtTypeChangeWarning" arg0="${ksdata.id}"/></span>
+ </c:if>
+ </td>
+ </tr>
+<c:if test="${not empty requestScope.is_virt}">
<tr>
<th><bean:message key="kickstartdetails.jsp.virt_mem_mb"/>:</th>
<td><html:text property="virt_mem_mb" size="10" /></td>
@@ -19,5 +27,6 @@
<tr>
<th><bean:message key="kickstartdetails.jsp.virt_bridge"/>:</th>
<td><html:text property="virt_bridge" size="10" /></td>
- </tr>
-
\ No newline at end of file
+ </tr>
+
+</c:if>
\ No newline at end of file
diff --git a/java/code/webapp/WEB-INF/pages/kickstart/kickstartdetails.jsp b/java/code/webapp/WEB-INF/pages/kickstart/kickstartdetails.jsp
index 2e79b4f..732a03d 100644
--- a/java/code/webapp/WEB-INF/pages/kickstart/kickstartdetails.jsp
+++ b/java/code/webapp/WEB-INF/pages/kickstart/kickstartdetails.jsp
@@ -38,20 +38,9 @@
<td><strong><c:out value="${ksdata.kickstartDefaults.kstree.channel.name}"/></strong>
<a href="/rhn/kickstart/KickstartSoftwareEdit.do?ksid=${ksdata.id}">(<bean:message key="kickstartdetails.jsp.changeos"/>)</a></td>
</tr>
- <tr>
- <th><bean:message key="kickstartdetails.jsp.virtualization_type" /></th>
- <td colspan="2" align="left">
- <html:select property="virtualizationTypeLabel">
- <html:optionsCollection property="virtualizationTypes" label="formattedName" value="label" />
- </html:select><br/>
- <span class="small-text"><bean:message key="kickstartdetails.jsp.virtTypeChangeWarning" arg0="${ksdata.id}"/></span>
- </td>
- </tr>
-
- <c:if test="${is_virt}">
- <%@ include file="/WEB-INF/pages/common/fragments/kickstart/virtoptions.jspf" %>
- </c:if>
+ <%@ include file="/WEB-INF/pages/common/fragments/kickstart/virtoptions.jspf" %>
+
14 years, 10 months
backend/server
by Pradeep Kilambi
backend/server/importlib/backend.py | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
New commits:
commit d2e47011c1a26a58ee2fefa24d2edd40472cdc57
Author: Pradeep Kilambi <pkilambi(a)redhat.com>
Date: Tue Jun 30 12:46:08 2009 -0400
506264 - check the query for null as well along with inequality.
diff --git a/backend/server/importlib/backend.py b/backend/server/importlib/backend.py
index 1c0ba13..b31aa7c 100644
--- a/backend/server/importlib/backend.py
+++ b/backend/server/importlib/backend.py
@@ -1128,11 +1128,15 @@ class Backend:
channel['channel_product_beta'] = channel['product_beta']
channel['channel_product_id'] = self.lookupChannelProduct(channel)
+ if not channel['channel_product_id']:
+ # If no channel product dont update
+ return
statement = self.dbmodule.prepare("""
UPDATE rhnChannel
SET channel_product_id = :channel_product_id
WHERE id = :id
- AND channel_product_id <> :channel_product_id
+ AND (channel_product_id is NULL
+ OR channel_product_id <> :channel_product_id)
""")
statement.execute(id = channel.id,
14 years, 10 months
Branch 'VADER' - backend/server
by Pradeep Kilambi
backend/server/importlib/backend.py | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
New commits:
commit ec7816a6e6ef615d3612c34abedd7ed04e048b62
Author: Pradeep Kilambi <pkilambi(a)redhat.com>
Date: Tue Jun 30 12:46:08 2009 -0400
506264 - check the query for null as well along with inequality.
diff --git a/backend/server/importlib/backend.py b/backend/server/importlib/backend.py
index 1c0ba13..b31aa7c 100644
--- a/backend/server/importlib/backend.py
+++ b/backend/server/importlib/backend.py
@@ -1128,11 +1128,15 @@ class Backend:
channel['channel_product_beta'] = channel['product_beta']
channel['channel_product_id'] = self.lookupChannelProduct(channel)
+ if not channel['channel_product_id']:
+ # If no channel product dont update
+ return
statement = self.dbmodule.prepare("""
UPDATE rhnChannel
SET channel_product_id = :channel_product_id
WHERE id = :id
- AND channel_product_id <> :channel_product_id
+ AND (channel_product_id is NULL
+ OR channel_product_id <> :channel_product_id)
""")
statement.execute(id = channel.id,
14 years, 10 months
Branch 'VADER' - java/code
by Partha Aji
java/code/webapp/WEB-INF/pages/common/fragments/kickstart/schedule/schedule-options.jspf | 59 +++++++++-
java/code/webapp/WEB-INF/pages/kickstart/wizard/schedule/first.jsp | 47 -------
java/code/webapp/WEB-INF/pages/systems/details/virtualization/provision/first.jsp | 46 -------
3 files changed, 61 insertions(+), 91 deletions(-)
New commits:
commit af5ad64f3539e8fda3fd765391910c90d541705f
Author: Partha Aji <paji(a)redhat.com>
Date: Tue Jun 30 12:30:37 2009 -0400
508885 - fixed ks schedule pages to remember proxy host
Also fixed forgotten values such as postKernelParams
diff --git a/java/code/webapp/WEB-INF/pages/common/fragments/kickstart/schedule/schedule-options.jspf b/java/code/webapp/WEB-INF/pages/common/fragments/kickstart/schedule/schedule-options.jspf
index 806895f..1c415bd 100644
--- a/java/code/webapp/WEB-INF/pages/common/fragments/kickstart/schedule/schedule-options.jspf
+++ b/java/code/webapp/WEB-INF/pages/common/fragments/kickstart/schedule/schedule-options.jspf
@@ -2,7 +2,50 @@
<%@ taglib uri="http://rhn.redhat.com/rhn" prefix="rhn" %>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-bean" prefix="bean" %>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-html" prefix="html" %>
+ <!--Store form variables obtained from previous page -->
+ <input type="hidden" name="targetProfileType" value="${form.targetProfileType}"/>
+ <input type="hidden" name="targetProfile" value="${form.targetProfile}" />
+ <input type="hidden" name="postKernelParamsType" value="${form.postKernelParamsType}" />
+ <input type="hidden" name="postKernelParams" value="${form.postKernelParams}" />
+ <input type="hidden" name="kernelParamsType" value="${form.kernelParamsType}" />
+ <input type="hidden" name="kernelParams" value="${form.kernelParams}" />
+
+ <!-- Store useful id fields-->
+ <input type="hidden" name="wizardStep" value="first" id="wizard-step" />
+ <input type="hidden" name="cobbler_id" value="${form.cobbler_id}" id="cobbler_id" />
+ <input type="hidden" name="sid" value="${form.sid}" />
+
+ <c:if test="${empty regularKS}">
+ <!-- Store guest provisioning info -->
+ <input type="hidden" name="memoryAllocation" value="${form.memoryAllocation}" />
+ <input type="hidden" name="virtualCpus" value="${form.virtualCpus}" />
+ <input type="hidden" name="localStorageMegabytes" value="${form.localStorageMegabytes}" />
+ <input type="hidden" name="diskPath" value="${form.diskPath}" />
+ </c:if>
+
+ <c:if test="${requestScope.hasProxies == 'true'}">
+ <h2>
+ <img src="/img/rhn-icon-proxy.gif"
+ alt="<bean:message key='system.common.proxyAlt' />" />
+ <bean:message key="kickstart.schedule.heading.proxy.jsp"/>
+ </h2>
+ <p>
+ <bean:message key="kickstart.schedule.msg.proxy.jsp"/>
+ </p>
+ <p>
+ <select name="proxyHost">
+ <c:forEach var="proxy" items="${proxies}">
+ <option
+ <c:if test="${proxy.value == param.proxyHost}">selected="selected"</c:if>
+ value='${proxy.value}'>${proxy.label}</option>
+ </c:forEach>
+ </select>
+ <br />
+ <bean:message key="kickstart.schedule.tip.proxy.jsp"/>
+ </p>
+ </c:if>
+ <c:if test="${requestScope.hasProfiles == 'true'}">
<h2>
<img src="/img/rhn-icon-schedule.gif"
alt="<bean:message key='system.common.scheduleAlt' />" />
@@ -31,4 +74,18 @@
</td>
</tr>
</table>
- <hr />
\ No newline at end of file
+ <hr />
+ <table width="100%">
+ <tr>
+ <td align="right">
+ <c:if test="${not empty regularKS}">
+ <input type="button"
+ value="<bean:message key="kickstart.schedule.button0.jsp" />"
+ onclick="setStep('fourth');this.form.submit();" />
+ </c:if>
+ <input type="button" value="<bean:message key="kickstart.schedule.button1.jsp" />" onclick="setStep('second');this.form.submit();" />
+ <input type="button" value="<bean:message key="kickstart.schedule.button2.jsp" />" onclick="setStep('third');this.form.submit();" />
+ </td>
+ </tr>
+ </table>
+ </c:if>
\ No newline at end of file
diff --git a/java/code/webapp/WEB-INF/pages/kickstart/wizard/schedule/first.jsp b/java/code/webapp/WEB-INF/pages/kickstart/wizard/schedule/first.jsp
index e7afbe1..e824a80 100644
--- a/java/code/webapp/WEB-INF/pages/kickstart/wizard/schedule/first.jsp
+++ b/java/code/webapp/WEB-INF/pages/kickstart/wizard/schedule/first.jsp
@@ -58,19 +58,6 @@ function setStep(stepName) {
<c:set var="form" value="${kickstartScheduleWizardForm.map}"/>
<rl:listset name="wizard-form">
- <!--Store form variables obtained from previous page -->
- <input type="hidden" name="targetProfileType" value="${form.targetProfileType}"/>
- <input type="hidden" name="targetProfile" value="${form.targetProfile}" />
-
- <input type="hidden" name="postKernelParamsType" value="${form.postKernelParamsType}" />
- <input type="hidden" name="postKernelParams" value="${form.postKernelParams}" />
- <input type="hidden" name="kernelParamsType" value="${form.kernelParamsType}" />
- <input type="hidden" name="kernelParams" value="${form.kernelParams}" />
-
- <!-- Store useful id fields-->
- <input type="hidden" name="wizardStep" value="first" id="wizard-step" />
- <input type="hidden" name="cobbler_id" value="${form.cobbler_id}" id="cobbler_id" />
- <input type="hidden" name="sid" value="${form.sid}" />
<rl:list width="100%" emptykey = "kickstart.schedule.no.profiles.jsp" alphabarcolumn="label">
<rl:decorator name = "PageSizeDecorator"/>
<rl:radiocolumn value="${current.cobblerId}" styleclass="first-column"/>
@@ -95,38 +82,8 @@ function setStep(stepName) {
</rl:column>
</rl:list>
<rhn:tooltip>* - <bean:message key="kickstart.distro.cobbler-only.tooltip"/></rhn:tooltip>
- <c:if test="${requestScope.hasProxies == 'true'}">
- <h2>
- <img src="/img/rhn-icon-proxy.gif"
- alt="<bean:message key='system.common.proxyAlt' />" />
- <bean:message key="kickstart.schedule.heading.proxy.jsp"/>
- </h2>
- <p>
- <bean:message key="kickstart.schedule.msg.proxy.jsp"/>
- </p>
- <p>
- <select name="proxyHost">
- <c:forEach var="proxy" items="${proxies}">
- <option <c:if test="${proxy.value eq proxyHost}">selected="selected"</c:if> value='${proxy.value}'>${proxy.label}</option>
- </c:forEach>
- </select>
- <br />
- <bean:message key="kickstart.schedule.tip.proxy.jsp"/>
- </p>
- </c:if>
- <c:if test="${requestScope.hasProfiles == 'true'}">
- <%@ include file="/WEB-INF/pages/common/fragments/kickstart/schedule/schedule-options.jspf" %>
-
- <table width="100%">
- <tr>
- <td align="right">
- <input type="button" value="<bean:message key="kickstart.schedule.button0.jsp" />" onclick="setStep('fourth');this.form.submit();" />
- <input type="button" value="<bean:message key="kickstart.schedule.button1.jsp" />" onclick="setStep('second');this.form.submit();" />
- <input type="button" value="<bean:message key="kickstart.schedule.button2.jsp" />" onclick="setStep('third');this.form.submit();" />
- </td>
- </tr>
- </table>
- </c:if>
+ <c:set var="regularKS" value="true"/>
+ <%@ include file="/WEB-INF/pages/common/fragments/kickstart/schedule/schedule-options.jspf" %>
</rl:listset>
</div>
</c:if>
diff --git a/java/code/webapp/WEB-INF/pages/systems/details/virtualization/provision/first.jsp b/java/code/webapp/WEB-INF/pages/systems/details/virtualization/provision/first.jsp
index f3f8fdd..38dcac4 100644
--- a/java/code/webapp/WEB-INF/pages/systems/details/virtualization/provision/first.jsp
+++ b/java/code/webapp/WEB-INF/pages/systems/details/virtualization/provision/first.jsp
@@ -34,20 +34,6 @@ function setStep(stepName) {
<div>
<c:set var="form" value="${kickstartScheduleWizardForm.map}"/>
<rl:listset name="wizard-form">
- <!--Store form variables obtained from previous page -->
- <input type="hidden" name="targetProfileType" value="${form.targetProfileType}"/>
- <input type="hidden" name="targetProfile" value="${form.targetProfile}" />
- <input type="hidden" name="kernelParams" value="${form.kernelParams}" />
- <input type="hidden" name="memoryAllocation" value="${form.memoryAllocation}" />
- <input type="hidden" name="virtualCpus" value="${form.virtualCpus}" />
- <input type="hidden" name="localStorageMegabytes" value="${form.localStorageMegabytes}" />
- <input type="hidden" name="diskPath" value="${form.diskPath}" />
-
- <!-- Store useful id fields-->
- <input type="hidden" name="wizardStep" value="first" id="wizard-step" />
- <input type="hidden" name="cobbler_id" value="${form.cobbler_id}" id="cobbler_id" />
- <input type="hidden" name="sid" value="${form.sid}" />
-
<rl:list width="100%" emptykey = "virtualization.provision.first.jsp.no.profiles" alphabarcolumn="label">
<rl:decorator name = "PageSizeDecorator"/>
<rl:radiocolumn value="${current.cobblerId}" styleclass="first-column"/>
@@ -62,8 +48,6 @@ function setStep(stepName) {
</rl:list>
<h2><bean:message key="virtualization.provision.first.jsp.header2" /></h2>
-
-
<table class="details">
<tr>
<th><rhn:required-field key="virtualization.provision.first.jsp.guest_name.header"/></th>
@@ -81,37 +65,9 @@ function setStep(stepName) {
<bean:message key="virtualization.provision.override.jsp.goto.advanced.options"
arg0="${rhn:localize('kickstart.schedule.button1.jsp')}"/>
<br/><br/>
-
- <c:if test="${requestScope.hasProxies == 'true'}">
- <h2><img src="/img/rhn-icon-proxy.gif"/><bean:message key="kickstart.schedule.heading.proxy.jsp"/></h2>
- <p>
- <bean:message key="kickstart.schedule.msg.proxy.jsp"/>
- </p>
- <p>
- <select name="proxyHost">
- <c:forEach var="proxy" items="${proxies}">
- <option <c:if test="${proxy.value eq proxyHost}">selected="selected"</c:if> value='${proxy.value}'>${proxy.label}</option>
- </c:forEach>
- </select>
- <br />
- <bean:message key="kickstart.schedule.tip.proxy.jsp"/>
- </p>
- </c:if>
- <c:if test="${requestScope.hasProfiles == 'true'}">
- <%@ include file="/WEB-INF/pages/common/fragments/kickstart/schedule/schedule-options.jspf" %>
- <table width="100%">
- <tr>
- <td align="right">
- <input type="button" value="<bean:message key="kickstart.schedule.button1.jsp" />" onclick="setStep('second');this.form.submit();" />
- <input type="button" value="<bean:message key="kickstart.schedule.button2.jsp" />" onclick="setStep('third');this.form.submit();" />
- </td>
- </tr>
- </table>
- </c:if>
- </div>
+<%@ include file="/WEB-INF/pages/common/fragments/kickstart/schedule/schedule-options.jspf" %>
</rl:listset>
</div>
</body>
</html>
-
14 years, 10 months