|
6 | 6 | import java.io.IOException;
|
7 | 7 | import java.io.InputStreamReader;
|
8 | 8 | import java.io.Reader;
|
| 9 | +import java.nio.CharBuffer; |
9 | 10 | import java.util.ArrayList;
|
10 | 11 | import java.util.Collection;
|
11 | 12 | import java.util.Map;
|
12 | 13 | import java.util.concurrent.ConcurrentHashMap;
|
13 | 14 | import java.util.concurrent.ConcurrentMap;
|
14 | 15 | import java.util.concurrent.TimeUnit;
|
15 | 16 |
|
16 |
| -import com.google.common.io.CharStreams; |
17 |
| - |
18 | 17 | import io.kubernetes.client.ApiException;
|
19 | 18 | import io.kubernetes.client.Exec;
|
20 | 19 | import io.kubernetes.client.models.V1ObjectMeta;
|
21 | 20 | import oracle.kubernetes.operator.helpers.CallBuilder;
|
22 | 21 | import oracle.kubernetes.operator.helpers.ClientHelper;
|
23 | 22 | import oracle.kubernetes.operator.helpers.ClientHolder;
|
24 | 23 | import oracle.kubernetes.operator.helpers.DomainPresenceInfo;
|
| 24 | +import oracle.kubernetes.operator.helpers.ServerKubernetesObjects; |
25 | 25 | import oracle.kubernetes.operator.logging.LoggingFacade;
|
26 | 26 | import oracle.kubernetes.operator.logging.LoggingFactory;
|
27 | 27 | import oracle.kubernetes.operator.logging.MessageKeys;
|
28 |
| -import oracle.kubernetes.operator.wlsconfig.WlsDomainConfig; |
29 |
| -import oracle.kubernetes.operator.wlsconfig.WlsServerConfig; |
30 | 28 | import oracle.kubernetes.operator.work.NextAction;
|
31 | 29 | import oracle.kubernetes.operator.work.Packet;
|
32 | 30 | import oracle.kubernetes.operator.work.Step;
|
@@ -69,10 +67,10 @@ public NextAction apply(Packet packet) {
|
69 | 67 | String domainUID = spec.getDomainUID();
|
70 | 68 |
|
71 | 69 | Collection<StepAndPacket> startDetails = new ArrayList<>();
|
72 |
| - WlsDomainConfig scan = info.getScan(); |
73 |
| - if (scan != null) { |
74 |
| - for (Map.Entry<String, WlsServerConfig> entry : scan.getServerConfigs().entrySet()) { |
75 |
| - String serverName = entry.getKey(); |
| 70 | + for (Map.Entry<String, ServerKubernetesObjects> entry : info.getServers().entrySet()) { |
| 71 | + String serverName = entry.getKey(); |
| 72 | + ServerKubernetesObjects sko = entry.getValue(); |
| 73 | + if (sko != null && sko.getPod().get() != null) { |
76 | 74 | Packet p = packet.clone();
|
77 | 75 | startDetails.add(new StepAndPacket(
|
78 | 76 | createServerStatusReaderStep(namespace, domainUID, serverName, timeoutSeconds, null), p));
|
@@ -127,14 +125,23 @@ public NextAction apply(Packet packet) {
|
127 | 125 | ClientHolder holder = helper.take();
|
128 | 126 | Exec exec = new Exec(holder.getApiClient());
|
129 | 127 | try {
|
| 128 | + |
| 129 | + // TEST |
| 130 | + System.out.println("***** pod: " + podName); |
| 131 | + |
130 | 132 | final Process proc = exec.exec(namespace, podName,
|
131 | 133 | new String[] { "/weblogic-operator/scripts/readState.sh" },
|
132 | 134 | KubernetesConstants.CONTAINER_NAME, stdin, tty);
|
133 | 135 |
|
134 | 136 | if (proc.waitFor(timeoutSeconds, TimeUnit.SECONDS)) {
|
135 | 137 | String state = null;
|
136 | 138 | try (final Reader reader = new InputStreamReader(proc.getInputStream())) {
|
137 |
| - state = CharStreams.toString(reader); |
| 139 | + CharBuffer buf = CharBuffer.allocate(64); // longest: FAILED_NOT_RESTARTABLE:Y:Y |
| 140 | + while (reader.read(buf) >= 0) {} |
| 141 | + state = buf.toString(); |
| 142 | + |
| 143 | + // TEST |
| 144 | + System.out.println("***** state: " + state); |
138 | 145 | }
|
139 | 146 |
|
140 | 147 | @SuppressWarnings("unchecked")
|
|
0 commit comments