Commit b44d8ae
committed
Add option to select http client
The plugin depends on network library yavijava
https://github.com/jenkinsci/vsphere-cloud-plugin/blob/master/pom.xml#L95-L96
The yavijava supports two types of http clients:
`CloseableHttpClient`
`HttpURLConnection` - is default
The HttpURLConnection client's behaviour can be impacted by system-wide
cookie handler CookieManager:
https://docs.oracle.com/javase/8/docs/api/java/net/CookieManager.html
The major problem is that the CookieManager overlaps logic provided by
HttpURLConnection to setup http header `Cookie`. Global CookieManager
know nothing about logic of vsphere-cloud-plugin and fill all http
headers with stored cookies, as result vsphere center rejects login
requests with error:
```
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<soapenv:Fault>
<faultcode>ServerFaultCode</faultcode>
<faultstring>Cannot complete login due to an incorrect user name or password.</faultstring>
<detail>
<InvalidLoginFault xmlns="urn:vim25" xsi:type="InvalidLogin">
<faultMessage>
<key>vim.fault.InvalidLoginWithReason</key>
<arg>
<key>1</key>
<value xsi:type="xsd:string">vim.fault.InvalidLoginReasonRegisterFailed</value>
</arg>
<message>Login failed because the session could not be re-registered.</message>
</faultMessage>
</InvalidLoginFault>
</detail>
</soapenv:Fault>
</soapenv:Body>
</soapenv:Envelope>
```
The vsphere-cloud-plugin does not use CookieManager, but there is no
guarantee that other plugins avoid it. Example:
https://github.com/jenkinsci/parameterized-remote-trigger-plugin/blob/master/src/main/java/org/jenkinsci/plugins/ParameterizedRemoteTrigger/RemoteBuildConfiguration.java#L158-L159
As workaroud we can switch to CloseableHttpClient http client.
Issue in Jira:
https://issues.jenkins.io/browse/JENKINS-699991 parent 0eea7ae commit b44d8ae
File tree
6 files changed
+96
-7
lines changed- src
- main
- java/org/jenkinsci/plugins
- vsphere
- tools
- resources/org/jenkinsci/plugins/vsphere/VSphereConnectionConfig
- test/resources/org/jenkinsci/plugins/vsphere/tools
6 files changed
+96
-7
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
172 | 172 | | |
173 | 173 | | |
174 | 174 | | |
175 | | - | |
| 175 | + | |
176 | 176 | | |
177 | 177 | | |
178 | 178 | | |
| |||
630 | 630 | | |
631 | 631 | | |
632 | 632 | | |
633 | | - | |
634 | | - | |
635 | | - | |
| 633 | + | |
| 634 | + | |
| 635 | + | |
| 636 | + | |
| 637 | + | |
636 | 638 | | |
637 | 639 | | |
638 | 640 | | |
| |||
Lines changed: 75 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
28 | 28 | | |
29 | 29 | | |
30 | 30 | | |
| 31 | + | |
| 32 | + | |
31 | 33 | | |
32 | 34 | | |
33 | 35 | | |
| |||
37 | 39 | | |
38 | 40 | | |
39 | 41 | | |
| 42 | + | |
| 43 | + | |
40 | 44 | | |
41 | 45 | | |
42 | 46 | | |
43 | 47 | | |
44 | 48 | | |
| 49 | + | |
45 | 50 | | |
46 | 51 | | |
47 | 52 | | |
| |||
58 | 63 | | |
59 | 64 | | |
60 | 65 | | |
61 | | - | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
62 | 121 | | |
63 | | - | |
| 122 | + | |
64 | 123 | | |
65 | 124 | | |
| 125 | + | |
66 | 126 | | |
67 | 127 | | |
68 | 128 | | |
69 | 129 | | |
70 | | - | |
| 130 | + | |
71 | 131 | | |
72 | 132 | | |
73 | 133 | | |
| |||
119 | 179 | | |
120 | 180 | | |
121 | 181 | | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
122 | 194 | | |
123 | 195 | | |
124 | 196 | | |
| |||
Lines changed: 2 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
24 | 24 | | |
25 | 25 | | |
26 | 26 | | |
| 27 | + | |
27 | 28 | | |
28 | 29 | | |
29 | 30 | | |
| |||
71 | 72 | | |
72 | 73 | | |
73 | 74 | | |
| 75 | + | |
74 | 76 | | |
75 | 77 | | |
76 | 78 | | |
| |||
Lines changed: 4 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
10 | 14 | | |
11 | 15 | | |
12 | 16 | | |
| |||
Lines changed: 8 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
Lines changed: 1 addition & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
30 | 30 | | |
31 | 31 | | |
32 | 32 | | |
| 33 | + | |
33 | 34 | | |
34 | 35 | | |
0 commit comments