|
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