|
1 |
| -// Copyright (c) 2021, 2023, Oracle and/or its affiliates. |
| 1 | +// Copyright (c) 2021, 2024, Oracle and/or its affiliates. |
2 | 2 | // Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl.
|
3 | 3 |
|
4 | 4 | package oracle.weblogic.kubernetes.utils;
|
|
10 | 10 | import io.kubernetes.client.openapi.models.V1ObjectMeta;
|
11 | 11 | import io.kubernetes.client.openapi.models.V1ServiceAccount;
|
12 | 12 | import oracle.weblogic.kubernetes.actions.impl.OperatorParams;
|
| 13 | +import oracle.weblogic.kubernetes.actions.impl.ServiceAccount; |
13 | 14 | import oracle.weblogic.kubernetes.actions.impl.primitive.HelmParams;
|
14 | 15 | import oracle.weblogic.kubernetes.logging.LoggingFacade;
|
15 | 16 |
|
@@ -433,12 +434,14 @@ public static OperatorParams installAndVerifyOperator(String opNamespace,
|
433 | 434 | LoggingFacade logger = getLogger();
|
434 | 435 |
|
435 | 436 | // Create a service account for the unique opNamespace
|
436 |
| - logger.info("Creating service account"); |
437 |
| - assertDoesNotThrow(() -> createServiceAccount(new V1ServiceAccount() |
438 |
| - .metadata(new V1ObjectMeta() |
439 |
| - .namespace(opNamespace) |
440 |
| - .name(opServiceAccount)))); |
441 |
| - logger.info("Created service account: {0}", opServiceAccount); |
| 437 | + if (!ServiceAccount.serviceAccountExists(opServiceAccount, opNamespace)) { |
| 438 | + logger.info("Creating service account"); |
| 439 | + assertDoesNotThrow(() -> createServiceAccount(new V1ServiceAccount() |
| 440 | + .metadata(new V1ObjectMeta() |
| 441 | + .namespace(opNamespace) |
| 442 | + .name(opServiceAccount)))); |
| 443 | + logger.info("Created service account: {0}", opServiceAccount); |
| 444 | + } |
442 | 445 |
|
443 | 446 | operatorImage = getOperatorImageName();
|
444 | 447 |
|
@@ -636,13 +639,14 @@ public static OperatorParams installAndVerifyOperator(String opNamespace,
|
636 | 639 | LoggingFacade logger = getLogger();
|
637 | 640 |
|
638 | 641 | // Create a service account for the unique opNamespace
|
639 |
| - logger.info("Creating service account"); |
640 |
| - assertDoesNotThrow(() -> createServiceAccount(new V1ServiceAccount() |
641 |
| - .metadata(new V1ObjectMeta() |
642 |
| - .namespace(opNamespace) |
643 |
| - .name(opServiceAccount)))); |
644 |
| - logger.info("Created service account: {0}", opServiceAccount); |
645 |
| - |
| 642 | + if (!ServiceAccount.serviceAccountExists(opServiceAccount, opNamespace)) { |
| 643 | + logger.info("Creating service account"); |
| 644 | + assertDoesNotThrow(() -> createServiceAccount(new V1ServiceAccount() |
| 645 | + .metadata(new V1ObjectMeta() |
| 646 | + .namespace(opNamespace) |
| 647 | + .name(opServiceAccount)))); |
| 648 | + logger.info("Created service account: {0}", opServiceAccount); |
| 649 | + } |
646 | 650 |
|
647 | 651 | // get operator image name
|
648 | 652 | String operatorImage = getOperatorImageName();
|
|
0 commit comments