Skip to content

Operator version 3.1.0 #2051

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 716 commits into from
Nov 13, 2020
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
Show all changes
716 commits
Select commit Hold shift + click to select a range
8505799
Add Javadoc
rjeberhard Jul 17, 2020
721f38a
Merge remote-tracking branch 'origin/master' into develop
rjeberhard Jul 17, 2020
d6d99a6
Clarify 2.6.0 upgrade instructions (#1818)
rjeberhard Jul 17, 2020
b6d130b
Update Javadoc
rjeberhard Jul 17, 2020
90f06c7
Merge remote-tracking branch 'origin/master' into develop
rjeberhard Jul 17, 2020
086cd6b
Fix broken hugo doc relrefs using a link formatting workaround: .../f…
Jul 18, 2020
84a2506
Merge remote-tracking branch 'origin/master' into develop
rjeberhard Jul 18, 2020
1bcaa9f
update java url in Dockerfile
xiancao Jul 20, 2020
d44129a
Merge pull request #1826 from oracle/update-java-url
mriccell Jul 20, 2020
4c9a5f0
Added timeout and debugger to fix hanging issue on kind-new Jenkins j…
hzhao-github Jul 22, 2020
bcd51cf
Mirror introspector log to a rotating file in 'log home' (if configur…
Jul 22, 2020
9e0745e
OWLS-81928 - JUnit5: Convert ItManagedCoherence (testCreateCoherenceD…
hzhao-github Jul 22, 2020
bbebaa9
Test support: don't update status on replace if defined as subresourc…
russgold Jul 24, 2020
59f4e59
Support configurable model home (#1828)
doxiao Jul 27, 2020
8be0898
Use kubectl exec to fix a test hanging issue (#1834)
doxiao Jul 27, 2020
4784835
cleanup extra artifacts for prom and grafana (#1835)
marinakog Jul 27, 2020
1ac45b2
Changes for OWLS-82011 to reflect introspector status in domain statu…
ankedia Jul 29, 2020
6723888
Added restPort, https tests, extra cleanup for prom and grafana (#1824)
marinakog Jul 30, 2020
e57e326
Merge remote-tracking branch 'origin/master' into develop
rjeberhard Jul 30, 2020
bee09c1
Update chart build
rjeberhard Jul 30, 2020
fd8afce
Update the Traefik Version to 2.x (#1814)
anpanigr Jul 30, 2020
526e09f
Add tests to verify loadbalancing with treafik lb for multiple domain…
sankarpn Jul 30, 2020
58609d9
Adding Junit5 Operator upgrade tests (#1841)
vanajamukkara Aug 4, 2020
f37d339
Resolution to Jenkin log archive issue (#1845)
anpanigr Aug 4, 2020
0611236
Update the external client FAQ to discuss 'unknown host' handling, pl…
Aug 4, 2020
4949853
Parameterize tests with different domain home source types (#1776)
xiancao Aug 4, 2020
bc2b15b
Fix build
rjeberhard Aug 4, 2020
6cc4d65
Update Apache doc for helm 3.x (#1847)
anpanigr Aug 5, 2020
248daed
Revert backofflimit check (#1852)
ankedia Aug 6, 2020
06bd31c
Make sure domainUid is in operator log messages - part 1 (#1844)
doxiao Aug 6, 2020
253801f
lookup and save internalOperatorkey, if already exists (#1846)
lennyphan Aug 6, 2020
02b918a
Add WDT & WIT download url options (#1851)
vanajamukkara Aug 11, 2020
a7da5d1
Disable ItCoherenceTests jenkins-ignore (#1859)
hzhao-github Aug 11, 2020
635b9b5
changed WDT release URL for latest release (#1843)
ddsharpe Aug 11, 2020
bff6f02
JUnit5 Create Infrastructure for ELK Stack (#1839)
hzhao-github Aug 11, 2020
cc67c2a
Load Balance doc update for SSL termination
Aug 11, 2020
dc341b2
Updated the heading font
Aug 11, 2020
3058b73
Merge branch 'develop' of https://github.com/oracle/weblogic-kubernet…
Aug 11, 2020
d021b34
Modified the hostname :wq
Aug 11, 2020
a8db63b
Missing quote
Aug 11, 2020
3afd495
Add domainUID to operator log messages in async call request/response…
doxiao Aug 11, 2020
06b3a3d
fix operator external REST http port conflicts in integration tests (…
xiancao Aug 12, 2020
e56d72d
fix NullPointerException in isPodReady method (#1862)
xiancao Aug 12, 2020
1b090d6
Changes for OWLS-83431 (#1855)
ankedia Aug 12, 2020
4deff3b
Namespace management enhancements (#1860)
rjeberhard Aug 12, 2020
b4811cc
ItPodTemplates test conversion to Junit5 (#1850)
marinakog Aug 12, 2020
38f22fc
Junit5: Convert two ELK Stack test cases ( testLogLevelSearch and t…
hzhao-github Aug 13, 2020
488c588
Verify fields that cause servers to be restarted (#1866)
maggiehe00 Aug 13, 2020
3b4b065
Merge remote-tracking branch 'origin/master' into develop
rjeberhard Aug 13, 2020
156ebf3
Debugcdttest (#1863)
bhavaniravichandran Aug 13, 2020
a311c1a
addressed review comments
Aug 13, 2020
d419b71
Merge branch 'develop' of https://github.com/oracle/weblogic-kubernet…
Aug 13, 2020
9007cb1
remove duplicate parameter srcstorepass in keytool command (#1867)
jshum2479 Aug 17, 2020
1b515ce
Kubernetes Exec API intermittently hangs when executing curl command …
lennyphan Aug 17, 2020
a36db8c
Addreseed new doc review comments
Aug 17, 2020
236f896
Merge branch 'develop' of https://github.com/oracle/weblogic-kubernet…
Aug 17, 2020
bb7a5bb
Owls 83534 - Changes to allow setting nodeAffinity and nodeSelector v…
ankedia Aug 17, 2020
4772b2b
Make tests fail fast when initialization fails (#1874)
vanajamukkara Aug 17, 2020
915434c
log rotation enhancements and doc (#1872)
Aug 17, 2020
40d462c
Update charts
rjeberhard Aug 17, 2020
86d96b9
Owls 83538 (#1876)
russgold Aug 18, 2020
8a1bfa7
Adding assertions in upgrade test (#1880)
vanajamukkara Aug 19, 2020
dd78853
Merge branch 'develop' of https://github.com/oracle/weblogic-kubernet…
Aug 20, 2020
1db20d8
Add a test to change WebLogic credentials (#1853)
sankarpn Aug 20, 2020
0f172a3
PR to add sample running Oracle WLS Kubernetes Operator on Azure Kube…
edburns Jul 29, 2020
539900f
Update _index.md
edburns Aug 18, 2020
1ba54bd
Update README.md
edburns Aug 18, 2020
fd865c7
Update _index.md
edburns Aug 18, 2020
6bca6ee
On branch edburns-msft-180-02-wls-aks
edburns Aug 18, 2020
b87d380
On branch edburns-msft-180-02-wls-aks
edburns Aug 18, 2020
2f34995
Change default VMSize and node number, as Standard_D4s_v3 and 3 node …
Aug 19, 2020
28d7e2b
On branch edburns-msft-180-02-wls-aks Add Clean Up section.
edburns Aug 20, 2020
39ed467
On branch edburns-msft-180-02-wls-aks Apply changes suggested by @mri…
edburns Aug 20, 2020
e505556
Merge pull request #1873 from edburns/edburns-msft-180-02-wls-aks
mriccell Aug 20, 2020
b8581fa
Consolidate multiple Mii test classes to a single ItClass (#1875)
anpanigr Aug 21, 2020
5ad82ce
Merge branch 'develop' of https://github.com/oracle/weblogic-kubernet…
Aug 21, 2020
504eccd
Adding upgrade test for 3.0.1 to latest(develop) (#1882)
vanajamukkara Aug 24, 2020
9271da5
convert testTwoDomainsManagedByOneOperatorSharingPV in ItOperatorTwoD…
xiancao Aug 24, 2020
3801856
Merge branch 'develop' of https://github.com/oracle/weblogic-kubernet…
Aug 24, 2020
8e1c839
Retry docker login, image push/pull from/to repos (#1885)
sankarpn Aug 26, 2020
08bfd50
Bring back the test jenkins-ignore (#1883)
hzhao-github Aug 26, 2020
294e0f6
add NGINX for production ICs (#1878)
rosemarymarano Aug 26, 2020
4892c3f
Verify shutdown rules when shutdown options are defined at different …
maggiehe00 Aug 26, 2020
f70beab
Modified py scripts
Aug 26, 2020
fe0908d
Merge branch 'develop' of https://github.com/oracle/weblogic-kubernet…
Aug 26, 2020
0729226
correct the errors (#1887)
maggiehe00 Aug 27, 2020
f1d2467
Adding operator restart use cases from Junit4 tests (#1884)
vanajamukkara Aug 27, 2020
15203b5
Created infra for WLS Logging Exporter and converted related tests to…
hzhao-github Aug 27, 2020
3dfb173
More doc review change
Aug 31, 2020
b23a4bb
Merge branch 'develop' of https://github.com/oracle/weblogic-kubernet…
Aug 31, 2020
9fe78e0
Converted Usability Tests to Junit5 (#1888)
marinakog Sep 1, 2020
e863207
Merge remote-tracking branch 'origin/master' into develop
rjeberhard Sep 2, 2020
9571aed
create test infrastructure for Apache load balancer (#1891)
xiancao Sep 2, 2020
51fd320
add debug info in scaling cluster with WLDF methods (#1893)
xiancao Sep 2, 2020
bbcea24
owls-83918 an idle domain's resource version should stay unchanged (#…
doxiao Sep 2, 2020
02456cf
sample changes needed to work in openshift with default scc
Sep 3, 2020
c4248ab
Adding WLDF and JMS system override tests (#1896)
sankarpn Sep 3, 2020
3829dfe
Merge pull request #1899 from oracle/fixsampledefscc
mriccell Sep 4, 2020
8e58dc1
Use Kubernetes Java client 9.0.2 (#1898)
rjeberhard Sep 4, 2020
6e3fd81
Changes for OWLS-83136 - Limit concurrent pod shutdowns during a clus…
ankedia Sep 4, 2020
2e9d250
Added sample support for Ngnix Load Balancer (#1886)
anpanigr Sep 8, 2020
5dc58f6
New Tests for ServerStartPolicy (#1895)
anpanigr Sep 8, 2020
74f6482
fix build application not to assert exec false exit value (#1904)
bhavaniravichandran Sep 8, 2020
a0dc962
temporarily adding chown option to imagetool command (#1905)
bhavaniravichandran Sep 9, 2020
19b55e8
Adding test to use PV for logHome in MII domain (#1903)
vanajamukkara Sep 10, 2020
5c7c22e
ItInitContainers conversion to Junit5 (#1907)
marinakog Sep 10, 2020
90d8697
Merge branch 'develop' of https://github.com/oracle/weblogic-kubernet…
Sep 10, 2020
88a937e
sync to develop branch
Sep 10, 2020
698fc9d
Added annotation to remove client header on Traefik Ingress
Sep 10, 2020
a69bd7b
add NGINX path routing doc
Sep 11, 2020
6d15d38
List continuation and watch bookmark support (#1881)
rjeberhard Sep 14, 2020
6cda140
Add security disclaimer statements
Sep 14, 2020
cadd99b
Merge branch 'develop' of https://github.com/oracle/weblogic-kubernet…
Sep 14, 2020
3683bd7
fixing the mii domain and sample test after images have been updated …
bhavaniravichandran Sep 15, 2020
cbff679
Merge branch 'develop' of https://github.com/oracle/weblogic-kubernet…
Sep 15, 2020
9bf05c7
Added doc to eliminate client proxy header
Sep 15, 2020
1dec2a2
Added nginx link
Sep 16, 2020
8f486f0
added ngnix ref
Sep 16, 2020
600cb9b
update doc with review comments
Sep 16, 2020
b5ff8db
Merge remote-tracking branch 'origin/master' into develop
rjeberhard Sep 17, 2020
c4b181a
Merge remote-tracking branch 'origin/master' into develop
rjeberhard Sep 17, 2020
4d6617e
Change REST API query to handle hyphen, WebLogic Logging Exporter (#1…
hzhao-github Sep 17, 2020
17522b4
OWLS-84517: Scaling failed when setting Dedicated to true (#1921)
lennyphan Sep 17, 2020
8660662
Retry failure fix (#1854)
jshum2479 Sep 17, 2020
895c51d
Configure JMS Server logs on PV and verify (#1924)
vanajamukkara Sep 17, 2020
604c987
OWLS-80038 and OWLS-80090: fix mountPath validation and token substit…
doxiao Sep 17, 2020
562b2dd
Pod shutdown tests porting (#1914)
sankarpn Sep 17, 2020
b458a86
replace StepTest with FiberTest, remove unused Fiber code (#1926)
russgold Sep 17, 2020
954c417
Correct Ingress documentation (#1923)
rosemarymarano Sep 17, 2020
be8d0da
remove outdated sample doc references to weblogicImagePullSecretName …
Sep 17, 2020
b063238
Correct enableClusterRoleBinding
rjeberhard Sep 18, 2020
7c704f6
Removal of Junit4 Integration tests (#1934)
anpanigr Sep 21, 2020
efa4a37
OWLS-84141 fix operator upgrade issues related to domainNamespaceSele…
doxiao Sep 21, 2020
dc4fe48
Owls83813 fix a scaling issue when upgrade from 2.5.0 (#1933)
doxiao Sep 21, 2020
405c2dc
MII jrf - improve wallet password handling (#1919)
Sep 22, 2020
73fe24c
Mob refactoring (#1929)
russgold Sep 22, 2020
9d4cd8a
Rename new-integration-test directory (#1935)
anpanigr Sep 22, 2020
9682273
wait till admin pod has restarted instead of pod deleted (#1938)
vanajamukkara Sep 22, 2020
fcfd885
check existence of sa in helm templates (#1939)
doxiao Sep 22, 2020
8c9d572
Kubernetes Java Client 10.0.0 (#1937)
rjeberhard Sep 22, 2020
f5e7fbc
Merge branch 'develop' of https://github.com/oracle/weblogic-kubernet…
Sep 22, 2020
a23a483
Update charts
rjeberhard Sep 22, 2020
89716de
Revert "check existence of sa in helm templates (#1939)"
rjeberhard Sep 23, 2020
9a33d3b
Revert "Kubernetes Java Client 10.0.0 (#1937)"
rjeberhard Sep 23, 2020
cb5fecd
Merge branch 'develop' of https://github.com/oracle/weblogic-kubernet…
Sep 23, 2020
1057ec7
Supercedes #1900 (#1940)
edburns Sep 23, 2020
689cbe4
Merge remote-tracking branch 'origin/master' into develop
rjeberhard Sep 23, 2020
04b1b4b
Model and application archives In persistent persistent volume (#1936)
sankarpn Sep 23, 2020
bf3bbbf
Merge remote-tracking branch 'origin/master' into develop
rjeberhard Sep 24, 2020
7ed33b6
Mii doc: update runtime update doc (#1942)
Sep 24, 2020
82fd597
Owls 84594 (#1941)
russgold Sep 24, 2020
515024f
Integration test for secure nodeport service (#1931)
anpanigr Sep 24, 2020
52a595c
document altering WebLogic Server CLASSPATH and PRE_CLASSPATH (#1948)
Sep 24, 2020
8541d69
Merge remote-tracking branch 'origin/master' into develop
rjeberhard Sep 24, 2020
0bd33f8
Modified doc to remove client headers
Sep 24, 2020
b95836e
Merge branch 'develop' of https://github.com/oracle/weblogic-kubernet…
Sep 24, 2020
bf5e678
Updated doc/utility to download custom version of Load Balancer release
Sep 24, 2020
e78af54
Merge pull request #1861 from oracle/lb-doc-update
mriccell Sep 25, 2020
3bd2134
fix broken link (#1952)
rosemarymarano Sep 28, 2020
fa61fcd
added synchronized to execCommand to fix intermitten failures (#1947)
marinakog Sep 28, 2020
bf7a445
change domain name to be different than the one used in other IT test…
sankarpn Sep 28, 2020
8d78bcc
fixed cleanup order to uninstall operator before cleaning sa to fix i…
marinakog Sep 28, 2020
67ea81d
Merge remote-tracking branch 'origin/master' into develop
rjeberhard Sep 28, 2020
ef46b65
Add TLS and Path Routing Tests for Nginx, Voyager and Traefik (#1910)
xiancao Sep 28, 2020
e2fb808
Added Upgrade Test from Release 3.0.2 (#1956)
anpanigr Sep 28, 2020
e4c9745
Support for persistentVolumeClaimName, support for both non privilege…
Sep 29, 2020
92c9c4e
Owls-84294 handle missing sa in operator install/upgrade (#1957)
doxiao Sep 29, 2020
a9fef3f
enable disabled test cases (#1949)
doxiao Sep 29, 2020
aec389d
Fix missing ODL configuration that may presents in the model (#1950)
jshum2479 Sep 29, 2020
d461ebc
Unit test and fix detection of stranded namespaces (#1953)
russgold Sep 29, 2020
0663862
Fix retry regression (#1954)
jshum2479 Sep 29, 2020
f9f208b
Develop owls 84334 (#1902)
qvdang Oct 1, 2020
2314782
Adding test to verify image update for WLS domain (#1959)
maggiehe00 Oct 1, 2020
aa45c04
disable ItTwoDomainsLoadBalancers.testApacheLoadBalancingCustomSample…
xiancao Oct 1, 2020
bd76e70
Merge remote-tracking branch 'origin/master' into develop
rjeberhard Oct 1, 2020
c55e132
Adding flexibility to integration tests to pull the base images from …
vanajamukkara Oct 1, 2020
5e9ac97
fixed grafana install (#1965)
marinakog Oct 2, 2020
c7dac11
Add a testcase for -wdtModelHome option to the imagetool (#1961)
sankarpn Oct 2, 2020
ecfe858
fix default OCR image names (#1968)
vanajamukkara Oct 2, 2020
507ac9d
Add Tests for DataHome Override in Domain Custom Resource (#1964)
xiancao Oct 5, 2020
9dfe17b
re-enable ItTwoDomainsLoadBalancers.testApacheLoadBalancingCustomSamp…
xiancao Oct 5, 2020
11251e4
Add ClientFactoryStub memento to watcher tests (#1967)
rjeberhard Oct 5, 2020
ddfdf06
OWLS-84786 - Use Kubernetes Java Client 10.0.0 (#1972)
ankedia Oct 6, 2020
3e5401d
Added integration test cases for Dedicated namespace scenarios (#1913)
hzhao-github Oct 7, 2020
5dded55
OWLS-84562 - added tests for Namespace management enhancements (#1955)
marinakog Oct 8, 2020
87b29e6
correct image name construction of DB and FMW (#1974)
maggiehe00 Oct 9, 2020
29a4a03
Moving SOA deployment samples to a different repo (#1973)
sbattagi Oct 13, 2020
0261dee
Merge remote-tracking branch 'origin/master' into develop
rjeberhard Oct 13, 2020
ff027f2
Reduce job delete timeout value. (#1978)
ankedia Oct 13, 2020
43d9d27
add retry when scaling cluster with WLDF (#1986)
xiancao Oct 13, 2020
213fb6d
Added automation to test StickySession using latest Traefik Version (…
hzhao-github Oct 15, 2020
5465b1e
Improve nightly stability for ItIntrospectVersion.testUpdateImageName…
maggiehe00 Oct 15, 2020
820350b
copy out scalingAction.log from admin pod when scaling cluster with W…
xiancao Oct 15, 2020
bf297e7
OWLS-84881 better handle long domainUID (#1979)
doxiao Oct 15, 2020
1619ba2
Minor doc update on upgrading operator using helm upgrade (#1994)
alai8 Oct 15, 2020
29c1321
Reduce jrfmii map size (#1980)
jshum2479 Oct 16, 2020
8d9663f
use old default suffix when running older release (#1995)
doxiao Oct 16, 2020
11c2deb
cross domain transaction recovery (#1993)
bhavaniravichandran Oct 19, 2020
7a58302
External JMS client with LoadBalancer Tunneling (#1975)
anpanigr Oct 19, 2020
e0d01f6
OWLS-84660 document the new resource name Helm configurations and res…
doxiao Oct 20, 2020
76da6fa
Refactoring: extract domain namespaces code from main (#1999)
russgold Oct 20, 2020
a056280
Automate domain in pv samples (#1996)
sankarpn Oct 21, 2020
c60bf88
Change the domain name to be unique (#2005)
sankarpn Oct 21, 2020
d447463
Fix ENV variable setting in JRF domain in PV test class (#1998)
maggiehe00 Oct 21, 2020
7de64dc
synchronize startOracleDB method (#2006)
maggiehe00 Oct 22, 2020
b3a5ee9
add tests for terminating SSL at LB to access console and servers (#1…
xiancao Oct 23, 2020
db44c57
remove if __name__=main clause in python script (#2004)
xiancao Oct 23, 2020
3071e2d
Add instructions for creating a custom Security Context Constraint (#…
markxnelson Oct 23, 2020
7e3e057
OWLS 84741: Scaling failed on Jenkins when setting Dedicated to true …
lennyphan Oct 23, 2020
2e73976
Owls 84815 (#2009)
russgold Oct 27, 2020
7493ca4
Correct chart
rjeberhard Oct 27, 2020
2839bda
Update test dependencies and POM and change Dockerfile to use JDK 15 …
rjeberhard Oct 27, 2020
f940ac6
OWLS85461 add introspect version to server pod label (#2012)
doxiao Oct 27, 2020
184acaa
OWLS 85530: OPERATOR INTROSPECTOR THROWS VALIDATION ERRORS FOR STATIC…
lennyphan Oct 29, 2020
f0b95ad
modify istio installation script (#2015)
anpanigr Oct 29, 2020
07d4f25
Added automations to verify domain in image samples using wlst and wd…
hzhao-github Oct 30, 2020
6376ae6
Use spec.containers[].image instead of status.containerStatuses[].ima…
lennyphan Oct 30, 2020
360de5a
Fix dedicated mode test (#2019)
russgold Oct 30, 2020
ab37796
Xc owls85579 (#2024)
xiancao Nov 2, 2020
c1e5c8d
Owls85582 take all ALWAYS servers before considering rest of the serv…
doxiao Nov 3, 2020
7f3ebeb
Release note updates (#2026)
rjeberhard Nov 4, 2020
fe2df15
Detect and shut down stuck server pods (#2027)
russgold Nov 4, 2020
3708674
Ignore testUpdateImageName if the image tag is 14.1.1.0-11 (#2017)
maggiehe00 Nov 5, 2020
48ded2f
Owls83995 - Sample scripts to shutdown and start a specific managed s…
ankedia Nov 5, 2020
2ec00ba
Use oracle:root to support running in the OpenShift restrictive SCC (…
rjeberhard Nov 5, 2020
1ba84ad
Add SECURITY.md
rjeberhard Nov 5, 2020
802c93d
JRF mii Domain test class/infra for the mii RCU functionality testing…
maggiehe00 Nov 5, 2020
02b79f7
OWLS85912 - Integration tests for domain lifecycle scripts added as p…
ankedia Nov 5, 2020
5afdebb
fix K8s setup doc (#2028)
rosemarymarano Nov 5, 2020
207e297
owls-85910 - display correct minimumReplicas status for dynamic clust…
ankedia Nov 6, 2020
eaad044
Additional release note updates (#2034)
rjeberhard Nov 6, 2020
46b42a5
Response from pod delete REST call can be Pod or Status (#2038)
rjeberhard Nov 6, 2020
74c6934
Owls85476 attempt to fix intermittent integration test issues in nigh…
doxiao Nov 6, 2020
36890cb
Added anti affinity to the wls pods (#2033)
marinakog Nov 6, 2020
cb1ab96
Merge remote-tracking branch 'origin/master' into develop
rjeberhard Nov 9, 2020
eeccc7e
Add comment to liveness probe (#2041)
Nov 9, 2020
bb5ab0b
Added maven profile to run a set of integration tests for the new ima…
hzhao-github Nov 9, 2020
daad271
Adding application high availability check in operator upgrade tests …
vanajamukkara Nov 9, 2020
42e6828
OWLS 85938 - Server lifecycle script changes to use domain.status.min…
ankedia Nov 9, 2020
c990587
Remove t3 channel in IT tests and add it to separate IT class. (#2036)
sankarpn Nov 10, 2020
e5eaf74
fixed cluster name in anti affinity object (#2044)
marinakog Nov 10, 2020
51e297e
Merge remote-tracking branch 'origin/master' into develop
rjeberhard Nov 12, 2020
c2074c5
OWLS-62364 - Fix for log forging issues found by Fortify (#2048)
ankedia Nov 12, 2020
9402a32
Update the startServer.sh copy functionality to only chmod owned file…
rjeberhard Nov 12, 2020
24db225
Update Javadoc
rjeberhard Nov 12, 2020
a8dcc6e
Correct deploy and image tool references
rjeberhard Nov 12, 2020
c0b3cae
Update release date
rjeberhard Nov 12, 2020
7872ee4
OWLS-86038: Helm upgrade error missing internalOperatorKey (#2050)
lennyphan Nov 13, 2020
28ae52d
Merge remote-tracking branch 'origin/develop' into release/3.1.0
rjeberhard Nov 13, 2020
7e1e410
fix x-refs (#2052)
rosemarymarano Nov 13, 2020
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
Original file line number Diff line number Diff line change
Expand Up @@ -916,7 +916,8 @@ public NextAction onSuccess(Packet packet, CallResponse<V1PodList> callResponse)
}
}
}
return doNext(packet);

return doContinueListOrNext(callResponse, packet);
}
}

Expand Down Expand Up @@ -972,7 +973,7 @@ public NextAction onSuccess(Packet packet, CallResponse<V1ServiceList> callRespo
}
}

return doNext(packet);
return doContinueListOrNext(callResponse, packet);
}
}

Expand Down
187 changes: 115 additions & 72 deletions operator/src/main/java/oracle/kubernetes/operator/Main.java
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,7 @@
import oracle.kubernetes.operator.logging.MessageKeys;
import oracle.kubernetes.operator.rest.RestConfigImpl;
import oracle.kubernetes.operator.rest.RestServer;
import oracle.kubernetes.operator.steps.ActionResponseStep;
import oracle.kubernetes.operator.steps.ConfigMapAfterStep;
import oracle.kubernetes.operator.work.Component;
import oracle.kubernetes.operator.work.Container;
Expand Down Expand Up @@ -207,13 +208,12 @@ private static void begin() {

Step strategy = Step.chain(
new InitializeNamespacesSecurityStep(configuredDomainNamespaces),
new NamespaceRulesReviewStep());
new NamespaceRulesReviewStep(),
CrdHelper.createDomainCrdStep(version, productVersion));
if (!DomainNamespaceSelectionStrategy.Dedicated.equals(selectionStrategy)) {
strategy = Step.chain(strategy, readExistingNamespaces(selectionStrategy, configuredDomainNamespaces, false));
} else {
strategy = Step.chain(strategy, CrdHelper.createDomainCrdStep(
version, productVersion,
new StartNamespacesStep(configuredDomainNamespaces, false)));
strategy = Step.chain(strategy, new StartNamespacesStep(configuredDomainNamespaces, false));
}
runSteps(
strategy,
Expand Down Expand Up @@ -322,14 +322,13 @@ static Step createDomainRecheckSteps(DateTime now) {

Step strategy = Step.chain(
new InitializeNamespacesSecurityStep(configuredDomainNamespaces),
new NamespaceRulesReviewStep());
new NamespaceRulesReviewStep(),
CrdHelper.createDomainCrdStep(version, productVersion));
if (!DomainNamespaceSelectionStrategy.Dedicated.equals(selectionStrategy)) {
strategy = Step.chain(strategy, readExistingNamespaces(
selectionStrategy, configuredDomainNamespaces, isFullRecheck));
} else {
strategy = Step.chain(strategy, CrdHelper.createDomainCrdStep(
version, productVersion,
new StartNamespacesStep(configuredDomainNamespaces, isFullRecheck)));
strategy = Step.chain(strategy, new StartNamespacesStep(configuredDomainNamespaces, isFullRecheck));
}
return strategy;
}
Expand Down Expand Up @@ -369,14 +368,31 @@ private static Step readExistingPods(String ns) {
}

static Step readExistingNamespaces(DomainNamespaceSelectionStrategy selectionStrategy,
Collection<String> domainNamespaces,
boolean isFullRecheck) {
Collection<String> domainNamespaces,
boolean isFullRecheck) {
CallBuilder builder = new CallBuilder();
String selector = selectionStrategy.getLabelSelector();
if (selector != null) {
builder.withLabelSelectors(selector);
}
return builder.listNamespaceAsync(new NamespaceListStep(selectionStrategy, domainNamespaces, isFullRecheck));
return builder.listNamespaceAsync(
new ActionResponseStep<V1NamespaceList>(new NamespaceListAfterStep(selectionStrategy)) {
private Step startNamespaces(Collection<String> namespacesToStart, boolean isFullRecheck) {
return new StartNamespacesStep(namespacesToStart, isFullRecheck);
}

@Override
protected NextAction onFailureNoRetry(Packet packet, CallResponse<V1NamespaceList> callResponse) {
return !selectionStrategy.isRequireList() && isNotAuthorizedOrForbidden(callResponse)
? doNext(startNamespaces(domainNamespaces, isFullRecheck), packet) :
super.onFailureNoRetry(packet, callResponse);
}

@Override
public Step createSuccessStep(V1NamespaceList result, Step next) {
return new NamespaceListStep(result, selectionStrategy, domainNamespaces, isFullRecheck, next);
}
});
}

private static ConfigMapAfterStep createConfigMapStep(String ns) {
Expand Down Expand Up @@ -682,7 +698,7 @@ private abstract static class ForEachNamespaceStep extends Step {

@Override
protected String getDetail() {
return String.join(",", domainNamespaces);
return Optional.ofNullable(domainNamespaces).map(d -> String.join(",", d)).orElse(null);
}

protected abstract Step action(String ns);
Expand Down Expand Up @@ -873,7 +889,8 @@ public NextAction onSuccess(Packet packet, CallResponse<DomainList> callResponse
domainWatchers.put(
ns, createDomainWatcher(ns, getResourceVersion(callResponse.getResult())));
}
return doNext(packet);

return doContinueListOrNext(callResponse, packet);
}

String getResourceVersion(DomainList result) {
Expand Down Expand Up @@ -916,7 +933,8 @@ public NextAction onSuccess(Packet packet, CallResponse<V1ServiceList> callRespo
if (!serviceWatchers.containsKey(ns)) {
serviceWatchers.put(ns, createServiceWatcher(ns, getInitialResourceVersion(result)));
}
return doNext(packet);

return doContinueListOrNext(callResponse, packet);
}

private String getInitialResourceVersion(V1ServiceList result) {
Expand Down Expand Up @@ -946,7 +964,8 @@ public NextAction onSuccess(Packet packet, CallResponse<V1EventList> callRespons
if (!eventWatchers.containsKey(ns)) {
eventWatchers.put(ns, createEventWatcher(ns, getInitialResourceVersion(result)));
}
return doNext(packet);

return doContinueListOrNext(callResponse, packet);
}

private String getInitialResourceVersion(V1EventList result) {
Expand Down Expand Up @@ -990,103 +1009,86 @@ public NextAction onSuccess(Packet packet, CallResponse<V1PodList> callResponse)
if (!podWatchers.containsKey(ns)) {
podWatchers.put(ns, createPodWatcher(ns, getInitialResourceVersion(result)));
}
return doNext(packet);

return doContinueListOrNext(callResponse, packet);
}

private String getInitialResourceVersion(V1PodList result) {
return result != null ? result.getMetadata().getResourceVersion() : "";
}
}

private static class NamespaceListStep extends ResponseStep<V1NamespaceList> {
private static final String ALL_DOMAIN_NAMESPACES = "ALL_DOMAIN_NAMESPACES";

private static class NamespaceListStep extends Step {
private final V1NamespaceList list;
private final DomainNamespaceSelectionStrategy selectionStrategy;
private final Collection<String> configuredDomainNamespaces;
private final boolean isFullRecheck;

NamespaceListStep(DomainNamespaceSelectionStrategy selectionStrategy,
Collection<String> configuredDomainNamespaces,
boolean isFullRecheck) {
NamespaceListStep(V1NamespaceList list,
DomainNamespaceSelectionStrategy selectionStrategy,
Collection<String> configuredDomainNamespaces,
boolean isFullRecheck,
Step next) {
super(next);
this.list = list;
this.selectionStrategy = selectionStrategy;
this.configuredDomainNamespaces = configuredDomainNamespaces;
this.isFullRecheck = isFullRecheck;
}

@Override
public NextAction onFailure(Packet packet, CallResponse<V1NamespaceList> callResponse) {
return callResponse.getStatusCode() == CallBuilder.NOT_FOUND
? onSuccess(packet, callResponse)
: super.onFailure(packet, callResponse);
}

@Override
protected NextAction onFailureNoRetry(Packet packet, CallResponse<V1NamespaceList> callResponse) {
return !selectionStrategy.isRequireList() && isNotAuthorizedOrForbidden(callResponse)
? doNext(createDomainCrdAndStartNamespaces(configuredDomainNamespaces, isFullRecheck), packet) :
super.onFailureNoRetry(packet, callResponse);
}

@Override
public NextAction onSuccess(Packet packet, CallResponse<V1NamespaceList> callResponse) {
V1NamespaceList result = callResponse.getResult();
public NextAction apply(Packet packet) {
// don't bother processing pre-existing events
String intialResourceVersion = getInitialResourceVersion(result);
List<String> nsList = getExistingNamespaces(result);
String intialResourceVersion = getInitialResourceVersion(list);
List<String> nsPossiblyPartialList = getExistingNamespaces(list);

Set<String> namespacesToStart;
Set<String> namespacesToStartNow;
if (selectionStrategy.isRequireList()) {
namespacesToStart = new TreeSet<>(nsList);
namespacesToStartNow = new TreeSet<>(nsPossiblyPartialList);
String regexp = selectionStrategy.getRegExp();
if (regexp != null) {
try {
namespacesToStart = namespacesToStart.stream().filter(
namespacesToStartNow = namespacesToStartNow.stream().filter(
Pattern.compile(regexp).asPredicate()).collect(Collectors.toSet());
} catch (PatternSyntaxException pse) {
LOGGER.severe(MessageKeys.EXCEPTION, pse);
}
}
} else {
namespacesToStart = new TreeSet<>(configuredDomainNamespaces);
for (String ns : configuredDomainNamespaces) {
if (!nsList.contains(ns)) {
try (LoggingContext stack = LoggingContext.setThreadContext().namespace(ns)) {
LOGGER.warning(MessageKeys.NAMESPACE_IS_MISSING, ns);
}
namespacesToStart.remove(ns);
}
}
namespacesToStartNow = new TreeSet<>(configuredDomainNamespaces);
namespacesToStartNow.retainAll(nsPossiblyPartialList);
}

Step strategy = null;
if (!namespacesToStart.isEmpty()) {
strategy = Step.chain(createDomainCrdAndStartNamespaces(namespacesToStart, isFullRecheck),
new CreateNamespaceWatcherStep(selectionStrategy, intialResourceVersion));
if (!namespacesToStartNow.isEmpty()) {
strategy = Step.chain(
startNamespaces(namespacesToStartNow, isFullRecheck),
new CreateNamespaceWatcherStep(selectionStrategy, intialResourceVersion),
getNext());

if (configuredDomainNamespaces == null) {
strategy = new InitializeNamespacesSecurityStep(namespacesToStart, strategy);
strategy = new InitializeNamespacesSecurityStep(namespacesToStartNow, strategy);
}
} else {
strategy = CrdHelper.createDomainCrdStep(
version, productVersion,
new CreateNamespaceWatcherStep(selectionStrategy, intialResourceVersion));
strategy = Step.chain(
new CreateNamespaceWatcherStep(selectionStrategy, intialResourceVersion),
getNext());
}

// Check for namespaces that are removed from the operator's
// domainNamespaces list, or that are deleted from the Kubernetes cluster.
Set<String> namespacesToStop = new TreeSet<>(namespaceStoppingMap.keySet());
for (String ns : namespacesToStart) {
// the active namespaces are the ones that will not be stopped
if (delegate.isNamespaceRunning(ns)) {
namespacesToStop.remove(ns);
}
Collection<String> allDomainNamespaces = (Collection<String>) packet.get(ALL_DOMAIN_NAMESPACES);
if (allDomainNamespaces == null) {
allDomainNamespaces = new HashSet<>();
packet.put(ALL_DOMAIN_NAMESPACES, allDomainNamespaces);
}
stopNamespaces(namespacesToStart, namespacesToStop);
allDomainNamespaces.addAll(namespacesToStartNow);

return doNext(strategy, packet);
}

private Step createDomainCrdAndStartNamespaces(Collection<String> namespacesToStart, boolean isFullRecheck) {
return CrdHelper.createDomainCrdStep(
version, productVersion,
new StartNamespacesStep(namespacesToStart, isFullRecheck));

private Step startNamespaces(Collection<String> namespacesToStart, boolean isFullRecheck) {
return new StartNamespacesStep(namespacesToStart, isFullRecheck);
}

private String getInitialResourceVersion(V1NamespaceList result) {
Expand All @@ -1103,7 +1105,48 @@ private List<String> getExistingNamespaces(V1NamespaceList result) {
return namespaces;
}
}


private static class NamespaceListAfterStep extends Step {
private final DomainNamespaceSelectionStrategy selectionStrategy;

public NamespaceListAfterStep(DomainNamespaceSelectionStrategy selectionStrategy) {
this.selectionStrategy = selectionStrategy;
}

@Override
public NextAction apply(Packet packet) {
Collection<String> allDomainNamespaces = (Collection<String>) packet.get(ALL_DOMAIN_NAMESPACES);
if (allDomainNamespaces == null) {
allDomainNamespaces = new HashSet<>();
}

Collection<String> configuredDomainNamespaces = selectionStrategy.getConfiguredList();
if (configuredDomainNamespaces != null) {
for (String ns : configuredDomainNamespaces) {
if (!allDomainNamespaces.contains(ns)) {
try (LoggingContext stack = LoggingContext.setThreadContext().namespace(ns)) {
LOGGER.warning(MessageKeys.NAMESPACE_IS_MISSING, ns);
}
}
}
}

// Check for namespaces that are removed from the operator's
// domainNamespaces list, or that are deleted from the Kubernetes cluster.
Set<String> namespacesToStop = new TreeSet<>(namespaceStoppingMap.keySet());
for (String ns : allDomainNamespaces) {
// the active namespaces are the ones that will not be stopped
if (delegate.isNamespaceRunning(ns)) {
namespacesToStop.remove(ns);
}
}

stopNamespaces(allDomainNamespaces, namespacesToStop);

return doNext(packet);
}
}

private static class CreateNamespaceWatcherStep extends Step {
private final DomainNamespaceSelectionStrategy selectionStrategy;
private final String initialResourceVersion;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ private void update() {

CallBuilderTuning callBuilder =
new CallBuilderTuning(
(int) readTuningParameter("callRequestLimit", 500),
(int) readTuningParameter("callRequestLimit", 50),
(int) readTuningParameter("callMaxRetryCount", 5),
(int) readTuningParameter("callTimeoutSeconds", 10));

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,11 @@ void waitForExit() {
}
}

// for test
String getResourceVersion() {
return resourceVersion;
}

/**
* Sets the listener for watch events.
*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
package oracle.kubernetes.operator.builders;

/** An object which encapsulates common parameters for Kubernetes API calls. */
class CallParamsImpl implements CallParams {
private static final int DEFAULT_LIMIT = 500;
public class CallParamsImpl implements CallParams {
private static final int DEFAULT_LIMIT = 50;
private static final int DEFAULT_TIMEOUT = 30;

private Integer limit = CallParamsImpl.DEFAULT_LIMIT;
Expand All @@ -20,7 +20,7 @@ public Integer getLimit() {
return limit;
}

void setLimit(Integer limit) {
public void setLimit(Integer limit) {
this.limit = limit;
}

Expand All @@ -29,7 +29,7 @@ public Integer getTimeoutSeconds() {
return timeoutSeconds;
}

void setTimeoutSeconds(Integer timeoutSeconds) {
public void setTimeoutSeconds(Integer timeoutSeconds) {
this.timeoutSeconds = timeoutSeconds;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ public class WatchBuilder {
/** Ignored for watches. */
private static final String START_LIST = null;

private static final Boolean ALLOW_BOOKMARKS = false;
private static final Boolean ALLOW_BOOKMARKS = true;

@SuppressWarnings("FieldMayBeFinal") // Leave non-final for unit test
private static WatchFactory FACTORY = new WatchFactoryImpl();
Expand Down
Loading