Skip to content

OWLS-92894: Implement Istio support based on Istio version #2582

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 33 commits into from
Oct 29, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
63780e8
Initial changes
lennyphan Oct 14, 2021
023d0b7
Fix isVersionEarlierThan argument count
lennyphan Oct 14, 2021
8dfcf1a
Update Istio Domain in PV test to use Istio version
lennyphan Oct 14, 2021
033e924
Fix integration istio tests to use ISTIO_VERSION env to set version
lennyphan Oct 15, 2021
df782f2
Add replication channel injection when Istio configured
lennyphan Oct 19, 2021
b9d6116
Change listen address for Istio NAP to bind to server pod name withou…
lennyphan Oct 19, 2021
f8fb176
Sync NAP configuration for DII and Domain-On-PV with MII implementation
lennyphan Oct 20, 2021
c3653fc
minor changes to replication channel generation
lennyphan Oct 20, 2021
5f3c831
Resolve conflict
lennyphan Oct 20, 2021
9fe32c9
update to weblogic.sha256
lennyphan Oct 20, 2021
324e733
Update istio documentation
lennyphan Oct 20, 2021
3de9d88
Fix PR CodeQL analysis error
lennyphan Oct 21, 2021
318b7df
First code changes based on code review
lennyphan Oct 21, 2021
1c1c61b
initialize replication-channel attribute of cluster configuration bef…
lennyphan Oct 22, 2021
ebd0fa8
Doc updates #1
lennyphan Oct 22, 2021
69552da
initial new wording for attributes (Lenny and Tom)
Oct 22, 2021
f35054f
Change Istio configuration attribute from version to localhostBinding…
lennyphan Oct 22, 2021
36be607
Update integration tests to configure localhostBindingsEnabled attrib…
lennyphan Oct 23, 2021
4d96580
doc changes based on initial code review
lennyphan Oct 25, 2021
dda4880
more istio doc edits
Oct 26, 2021
d48cfe1
Merge branch 'main' into OWLS-92894
lennyphan Oct 26, 2021
f86a61d
Merge remote-tracking branch 'origin/OWLS-92894' into OWLS-92894
lennyphan Oct 26, 2021
9d9c267
even more istio doc edits
Oct 26, 2021
711f680
Update description of new Istio configuration attributes
lennyphan Oct 26, 2021
449e81d
Merge remote-tracking branch 'origin/OWLS-92894' into OWLS-92894
lennyphan Oct 26, 2021
e499039
Update with Rosemary's comments part 1
lennyphan Oct 26, 2021
1c66f24
generated artifacts
lennyphan Oct 26, 2021
9f5bf8c
more doc edits
Oct 27, 2021
34d0034
Add localhostBindingsEnabled as a operator helm chart value
lennyphan Oct 28, 2021
2858a87
Merge remote-tracking branch 'origin/OWLS-92894' into OWLS-92894
lennyphan Oct 28, 2021
b7fa04c
Istio configuration attribute localhostBindingsEnabled takes preceden…
lennyphan Oct 28, 2021
886edd5
Update ItIstio tests to enable port-forwarding for Istio v1.10 and later
lennyphan Oct 29, 2021
fa5cfb9
Test changes for port-forward when Istio > 1.9
lennyphan Oct 29, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 9 additions & 1 deletion documentation/domains/Domain.json
Original file line number Diff line number Diff line change
Expand Up @@ -569,8 +569,16 @@
"Istio": {
"type": "object",
"properties": {
"replicationChannelPort": {
"description": "The operator will create a `T3` protocol WebLogic network access point on each WebLogic Server that is part of a cluster with this port to handle EJB and servlet session state replication traffic between servers. This setting is ignored for clusters where the WebLogic cluster configuration already defines a `replication-channel` attribute. Defaults to 4564.",
"type": "number"
},
"localhostBindingsEnabled": {
"description": "This setting was added in operator version 3.3.3, defaults to the `istioLocalhostBindingsEnabled` [Operator Helm value]({{\u003c relref \"/userguide/managing-operators/using-helm.md\" \u003e}}) which in turn defaults to `true`, and is ignored in version 4.0 and later. In version 3.x, when `true`, the operator creates a WebLogic network access point with a `localhost` binding for each existing channel and protocol. In version 3.x, use `true` for Istio versions prior to 1.10 and set to `false` for version 1.10 and later. Version 4.0 and later requires Istio 1.10 and later, will not create localhost bindings, and ignores this attribute.",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You can only use relref in the main documentation markdown. Here we have to use a fully-qualified URL.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@rosemarymarano, we will need your help wording this. :)

We are adding a field that lets the customer configure whether the operator should behave in a certain way with the implication that one choice is appropriate for Istio versions 1.10 and greater and the other choice for Istio versions prior to 1.10. For the 3.x versions of the operator we will support Istio 1.7.3 through 1.10. For the (future) 4.0 release of the operator we will only support Istio 1.10 and greater. We need to release an operator 3.3.3 with these changes as soon as possible, but the operator 4.0 release is still a future release. Therefore, this wording is a little off since it fails to capture that 4.0 isn't available yet.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The way I see it, you have two choices: one is remove the references to 4.0 and just describe the current situation with operator 3.x and the second is to keep it as written but add the caveat that version 4.0 is not yet available. With either choice, you will have to go back and edit the information when 4.0 becomes available. From a technical writing "best practices " POV, you should remove references to 4.0. We are instructed to almost never refer to releases/versions that exist only in the future.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Instead of removing references to 4.0 or adding a qualifier sentence, maybe we tag all mentions of 4.0 with the word unreleased - e.g. something change "4.0" to something like "4.0 (unreleased)" or "4.beta"?

4.0 is technically available in that the full source is public in "main".

This is going to keep happening, and it's hard to juggle fine distinctions between source and documentation, and even harder to maintain multiple versions of the same doc.

"type": "boolean"
},
"readinessPort": {
"description": "The operator will create a WebLogic network access point with this port that will then be exposed from the container running the WebLogic Server instance. The readiness probe will use this network access point to verify that the server instance is ready for application traffic. Defaults to 8888.",
"description": "The operator will create WebLogic network access points with this port on each WebLogic Server. The readiness probe on each pod will use these network access points to verify that the pod is ready for application traffic. Defaults to 8888.",
"type": "number"
},
"enabled": {
Expand Down
4 changes: 3 additions & 1 deletion documentation/domains/Domain.md
Original file line number Diff line number Diff line change
Expand Up @@ -223,7 +223,9 @@ The current status of the operation of the WebLogic domain. Updated automaticall
| Name | Type | Description |
| --- | --- | --- |
| `enabled` | Boolean | True, if this domain is deployed under an Istio service mesh. Defaults to true when the `istio` field is specified. |
| `readinessPort` | number | The operator will create a WebLogic network access point with this port that will then be exposed from the container running the WebLogic Server instance. The readiness probe will use this network access point to verify that the server instance is ready for application traffic. Defaults to 8888. |
| `localhostBindingsEnabled` | Boolean | This setting was added in operator version 3.3.3, defaults to the `istioLocalhostBindingsEnabled` [Operator Helm value]({{< relref "/userguide/managing-operators/using-helm.md" >}}) which in turn defaults to `true`, and is ignored in version 4.0 and later. In version 3.x, when `true`, the operator creates a WebLogic network access point with a `localhost` binding for each existing channel and protocol. In version 3.x, use `true` for Istio versions prior to 1.10 and set to `false` for version 1.10 and later. Version 4.0 and later requires Istio 1.10 and later, will not create localhost bindings, and ignores this attribute. |
| `readinessPort` | number | The operator will create WebLogic network access points with this port on each WebLogic Server. The readiness probe on each pod will use these network access points to verify that the pod is ready for application traffic. Defaults to 8888. |
| `replicationChannelPort` | number | The operator will create a `T3` protocol WebLogic network access point on each WebLogic Server that is part of a cluster with this port to handle EJB and servlet session state replication traffic between servers. This setting is ignored for clusters where the WebLogic cluster configuration already defines a `replication-channel` attribute. Defaults to 4564. |

### Model

Expand Down
10 changes: 9 additions & 1 deletion documentation/domains/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -1490,8 +1490,16 @@
"Istio": {
"type": "object",
"properties": {
"replicationChannelPort": {
"description": "The operator will create a `T3` protocol WebLogic network access point on each WebLogic Server that is part of a cluster with this port to handle EJB and servlet session state replication traffic between servers. This setting is ignored for clusters where the WebLogic cluster configuration already defines a `replication-channel` attribute. Defaults to 4564.",
"type": "number"
},
"localhostBindingsEnabled": {
"description": "This setting was added in operator version 3.3.3, defaults to the `istioLocalhostBindingsEnabled` [Operator Helm value]({{\u003c relref \"/userguide/managing-operators/using-helm.md\" \u003e}}) which in turn defaults to `true`, and is ignored in version 4.0 and later. In version 3.x, when `true`, the operator creates a WebLogic network access point with a `localhost` binding for each existing channel and protocol. In version 3.x, use `true` for Istio versions prior to 1.10 and set to `false` for version 1.10 and later. Version 4.0 and later requires Istio 1.10 and later, will not create localhost bindings, and ignores this attribute.",
"type": "boolean"
},
"readinessPort": {
"description": "The operator will create a WebLogic network access point with this port that will then be exposed from the container running the WebLogic Server instance. The readiness probe will use this network access point to verify that the server instance is ready for application traffic. Defaults to 8888.",
"description": "The operator will create WebLogic network access points with this port on each WebLogic Server. The readiness probe on each pod will use these network access points to verify that the pod is ready for application traffic. Defaults to 8888.",
"type": "number"
},
"enabled": {
Expand Down
Loading