Skip to content

Commit c24d34e

Browse files
janfaraciktimja
andauthored
Remove node configuration from Manage Jenkins' System page (#11224)
Co-authored-by: Tim Jacomb <21194782+timja@users.noreply.github.com> Co-authored-by: Tim Jacomb <timjacomb1@gmail.com>
1 parent f9a3156 commit c24d34e

21 files changed

+46
-459
lines changed

core/src/main/java/jenkins/model/Jenkins.java

Lines changed: 39 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@
4141
import static java.util.logging.Level.INFO;
4242
import static java.util.logging.Level.SEVERE;
4343
import static java.util.logging.Level.WARNING;
44+
import static jenkins.model.Messages.Hudson_Computer_IncorrectNumberOfExecutors;
4445

4546
import com.google.common.annotations.VisibleForTesting;
4647
import com.google.inject.Inject;
@@ -4100,28 +4101,6 @@ private boolean configureDescriptor(StaplerRequest2 req, JSONObject json, Descri
41004101
return d.configure(req, js);
41014102
}
41024103

4103-
/**
4104-
* Accepts submission from the node configuration page.
4105-
*/
4106-
@POST
4107-
public synchronized void doConfigExecutorsSubmit(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException, ServletException, FormException {
4108-
checkPermission(ADMINISTER);
4109-
4110-
try (BulkChange bc = new BulkChange(this)) {
4111-
JSONObject json = req.getSubmittedForm();
4112-
4113-
ExtensionList.lookupSingleton(MasterBuildConfiguration.class).configure(req, json);
4114-
4115-
getNodeProperties().rebuild(req, json.optJSONObject("nodeProperties"), NodeProperty.all());
4116-
4117-
bc.commit();
4118-
}
4119-
4120-
updateComputers(this);
4121-
4122-
FormApply.success(req.getContextPath() + '/' + toComputer().getUrl()).generateResponse(req, rsp, null);
4123-
}
4124-
41254104
/**
41264105
* Accepts the new description.
41274106
*/
@@ -5508,7 +5487,44 @@ public HttpResponse doDoDelete() throws IOException {
55085487
@Override
55095488
@POST
55105489
public void doConfigSubmit(StaplerRequest2 req, StaplerResponse2 rsp) throws IOException, ServletException, FormException {
5511-
Jenkins.get().doConfigExecutorsSubmit(req, rsp);
5490+
checkPermission(ADMINISTER);
5491+
5492+
Jenkins jenkins = Jenkins.get();
5493+
5494+
try (BulkChange bc = new BulkChange(jenkins)) {
5495+
JSONObject json = req.getSubmittedForm();
5496+
5497+
try {
5498+
// For compatibility reasons, this value is stored in Jenkins
5499+
String num = json.getString("numExecutors");
5500+
if (!num.matches("\\d+")) {
5501+
throw new Descriptor.FormException(Hudson_Computer_IncorrectNumberOfExecutors(), "numExecutors");
5502+
}
5503+
5504+
jenkins.setNumExecutors(json.getInt("numExecutors"));
5505+
if (req.hasParameter("builtin.mode")) {
5506+
jenkins.setMode(Mode.valueOf(req.getParameter("builtin.mode")));
5507+
} else {
5508+
jenkins.setMode(Mode.NORMAL);
5509+
}
5510+
5511+
jenkins.setLabelString(json.optString("labelString", ""));
5512+
} catch (IOException e) {
5513+
throw new Descriptor.FormException(e, "numExecutors");
5514+
}
5515+
5516+
jenkins.getNodeProperties().rebuild(req, json.optJSONObject("nodeProperties"), NodeProperty.all());
5517+
5518+
bc.commit();
5519+
}
5520+
5521+
jenkins.updateComputers(jenkins);
5522+
5523+
Computer computer = jenkins.toComputer();
5524+
if (computer == null) {
5525+
throw new IllegalStateException("Cannot find the computer object for the controller node");
5526+
}
5527+
FormApply.success(req.getContextPath() + '/' + computer.getUrl()).generateResponse(req, rsp, null);
55125528
}
55135529

55145530
@WebMethod(name = "config.xml")

core/src/main/java/jenkins/model/MasterBuildConfiguration.java

Lines changed: 0 additions & 72 deletions
This file was deleted.

core/src/main/resources/jenkins/model/Jenkins/configure.jelly

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,12 @@ THE SOFTWARE.
5151
codemirror-mode="${app.markupFormatter.codeMirrorMode}" codemirror-config="${app.markupFormatter.codeMirrorConfig}" previewEndpoint="/markupFormatter/previewDescription"/>
5252
</f:entry>
5353

54+
<!-- TODO remove after January 2026 LTS line -->
55+
<div class="jenkins-alert jenkins-alert-info">
56+
<l:icon src="symbol-computer" class="icon-sm jenkins-!-margin-right-1" />
57+
${%nodeHasBeenMoved(rootURL + '/manage/computer/(built-in)/configure')}
58+
</div>
59+
5460
<!-- global configuration from everyone -->
5561
<j:set var="editable" value="${h.getSortedDescriptorsForGlobalConfigUnclassified()}"/>
5662
<j:forEach var="descriptor" items="${h.getSortedDescriptorsForGlobalConfigUnclassifiedReadable()}">
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
LOADING=Loading
1+
nodeHasBeenMoved=Built-In Node is now configured in <a href="{0}">Nodes</a>.

core/src/main/resources/jenkins/model/MasterBuildConfiguration/config.jelly

Lines changed: 0 additions & 30 deletions
This file was deleted.

core/src/main/resources/jenkins/model/MasterBuildConfiguration/config_da.properties

Lines changed: 0 additions & 25 deletions
This file was deleted.

core/src/main/resources/jenkins/model/MasterBuildConfiguration/config_de.properties

Lines changed: 0 additions & 25 deletions
This file was deleted.

core/src/main/resources/jenkins/model/MasterBuildConfiguration/config_es.properties

Lines changed: 0 additions & 25 deletions
This file was deleted.

core/src/main/resources/jenkins/model/MasterBuildConfiguration/config_fi.properties

Lines changed: 0 additions & 24 deletions
This file was deleted.

core/src/main/resources/jenkins/model/MasterBuildConfiguration/config_fr.properties

Lines changed: 0 additions & 24 deletions
This file was deleted.

0 commit comments

Comments
 (0)