|
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;
|
|
11 | 11 | import io.kubernetes.client.openapi.models.V1Pod;
|
12 | 12 | import io.kubernetes.client.openapi.models.V1ServiceAccount;
|
13 | 13 | import oracle.weblogic.kubernetes.actions.impl.OperatorParams;
|
| 14 | +import oracle.weblogic.kubernetes.actions.impl.ServiceAccount; |
14 | 15 | import oracle.weblogic.kubernetes.actions.impl.primitive.Command;
|
15 | 16 | import oracle.weblogic.kubernetes.actions.impl.primitive.CommandParams;
|
16 | 17 | import oracle.weblogic.kubernetes.actions.impl.primitive.HelmParams;
|
@@ -441,12 +442,14 @@ public static OperatorParams installAndVerifyOperator(String opNamespace,
|
441 | 442 | LoggingFacade logger = getLogger();
|
442 | 443 |
|
443 | 444 | // Create a service account for the unique opNamespace
|
444 |
| - logger.info("Creating service account"); |
445 |
| - assertDoesNotThrow(() -> createServiceAccount(new V1ServiceAccount() |
446 |
| - .metadata(new V1ObjectMeta() |
447 |
| - .namespace(opNamespace) |
448 |
| - .name(opServiceAccount)))); |
449 |
| - logger.info("Created service account: {0}", opServiceAccount); |
| 445 | + if (!ServiceAccount.serviceAccountExists(opServiceAccount, opNamespace)) { |
| 446 | + logger.info("Creating service account"); |
| 447 | + assertDoesNotThrow(() -> createServiceAccount(new V1ServiceAccount() |
| 448 | + .metadata(new V1ObjectMeta() |
| 449 | + .namespace(opNamespace) |
| 450 | + .name(opServiceAccount)))); |
| 451 | + logger.info("Created service account: {0}", opServiceAccount); |
| 452 | + } |
450 | 453 |
|
451 | 454 | operatorImage = getOperatorImageName();
|
452 | 455 | if (ARM) {
|
@@ -647,13 +650,14 @@ public static OperatorParams installAndVerifyOperator(String opNamespace,
|
647 | 650 | LoggingFacade logger = getLogger();
|
648 | 651 |
|
649 | 652 | // Create a service account for the unique opNamespace
|
650 |
| - logger.info("Creating service account"); |
651 |
| - assertDoesNotThrow(() -> createServiceAccount(new V1ServiceAccount() |
652 |
| - .metadata(new V1ObjectMeta() |
653 |
| - .namespace(opNamespace) |
654 |
| - .name(opServiceAccount)))); |
655 |
| - logger.info("Created service account: {0}", opServiceAccount); |
656 |
| - |
| 653 | + if (!ServiceAccount.serviceAccountExists(opServiceAccount, opNamespace)) { |
| 654 | + logger.info("Creating service account"); |
| 655 | + assertDoesNotThrow(() -> createServiceAccount(new V1ServiceAccount() |
| 656 | + .metadata(new V1ObjectMeta() |
| 657 | + .namespace(opNamespace) |
| 658 | + .name(opServiceAccount)))); |
| 659 | + logger.info("Created service account: {0}", opServiceAccount); |
| 660 | + } |
657 | 661 |
|
658 | 662 | // get operator image name
|
659 | 663 | String operatorImage = getOperatorImageName();
|
|
0 commit comments