Skip to content

Commit 1de768e

Browse files
Releasing version 3.51.9
Releasing version 3.51.9
2 parents 922856d + 2cd53c2 commit 1de768e

File tree

44 files changed

+2902
-262
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+2902
-262
lines changed

CHANGELOG.rst

+94
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,100 @@ All notable changes to this project will be documented in this file.
66

77
The format is based on `Keep a Changelog <http://keepachangelog.com/>`__.
88

9+
3.51.9 - 2025-02-25
10+
--------------------
11+
Fixed
12+
~~~~~
13+
* Unsupported feature "COMMAND health check" feature for Container Instance Service has been removed, There is no specific CLI change since the option is passed in by json blob ( --containers [complex type])
14+
15+
Added
16+
~~~~~
17+
* Support for Database Lifecycle Management
18+
* ``oci dblm``
19+
20+
* Support for OCI cache service
21+
* ``oci cache``
22+
23+
* Support for Bring Your Own DKIM Keys in OCI Email Delivery Service
24+
25+
* Support for Dataflow Steps and Storage Mounts in Pipelines in Data Science service
26+
27+
* ``oci data-science pipeline create --storage-mount-configuration-details-list``
28+
* ``oci data-science pipeline update --storage-mount-configuration-details-list``
29+
30+
* Support for new Open Id Connect Multi Authentication command in the OKE Control Plane service
31+
32+
* ``oci ce cluster create --configuration-file``
33+
34+
* Support for the ZPR Security Attributes
35+
36+
* ``oci load balancer``
37+
38+
* Support for Reserve Private IP for Private IP and IPv6
39+
40+
* ``oci network ipv6 ipv6-vnic-detach <input-params>``
41+
* ``oci network private-ip private-ip-vnic-detach <input- params>``
42+
43+
* Support for new optional parameters in the Private IP and IPv6 for Reserve Private IP
44+
* ``oci network ipv6 create --lifetime``
45+
* ``oci network private-ip create --lifetime``
46+
* ``oci network ipv6 update --lifetime``
47+
* ``oci network private-ip update --lifetime``
48+
49+
* Support for extra user-editable configuration parameters in the MySQL Heatwave Database service
50+
51+
* OS Management Hub service
52+
53+
* Support for rebooting of instances, groups and lifecycle stages
54+
55+
* ``oci os-management-hub lifecycle-stage reboot``
56+
* ``oci os-management-hub managed-instance reboot``
57+
* ``oci os-management-hub managed-instance-group reboot``
58+
59+
* Support for private and third party repositories
60+
* ``oci os-management-hub software-source create-private-swsrc``
61+
* ``oci os-management-hub software-source create-third-party-swsrc``
62+
* ``oci os-management-hub software-source update-private-swsrc``
63+
* ``oci os-management-hub software-source update-third-party-swsrc``
64+
65+
* Support for re-running work requests
66+
* ``oci os-management-hub work-request rerun``
67+
68+
* Support for new commands for custom software sources
69+
* ``oci os-management-hub software-source get-software-source-manifest``
70+
* ``oci os-management-hub software-source update-software-source-manifest``
71+
* ``oci os-management-hub software-source remove-packages``
72+
* ``oci os-management-hub software-source replace-packages``
73+
* ``oci os-management-hub software-source list-available-software-packages``
74+
* ``oci os-management-hub software-source generate-metadata``
75+
76+
* Support for new commands for profiles
77+
* ``oci os-management-hub profile list-available-software-sources``
78+
* ``oci os-management-hub profile get-profile-version``
79+
* ``oci os-management-hub profile detach-software-sources``
80+
* ``oci os-management-hub profile attach-software-sources``
81+
* ``oci os-management-hub profile attach-management-station``
82+
* ``oci os-management-hub profile attach-managed-instance-group``
83+
* ``oci os-management-hub profile attach-lifecycle-stage``
84+
* ``oci os-management-hub profile create-windows-stand-alone-profile``
85+
86+
* Support for new commands for manages instances
87+
* ``oci os-management-hub managed-instance associate-managed-instances-with-management-station``
88+
89+
* Support for new optional parameter
90+
* ``oci os-management-hub managed-instance list --agent-version --management-station --is-reboot-required --management-station-ne
91+
* ``oci os-management-hub managed-instance-group install-packages --is-latest``
92+
* ``oci os-management-hub management-station create --is-auto-config-enabled``
93+
* ``oci os-management-hub management-station update --is-auto-config-enabled``
94+
* ``oci os-management-hub management-station list --location --location-ne
95+
* ``oci os-management-hub profile list --management-station --management-station-ne --profile-version``
96+
* ``oci os-management-hub scheduled-job create --work-request-id``
97+
* ``oci os-management-hub software-source add-packages --is-continue-on-missing-packages``
98+
* ``oci os-management-hub software-source create-custom-swsrc --software-source-sub-type``
99+
* ``oci os-management-hub software-source create-versioned-custom-swsrc --software-source-sub-type``
100+
* ``oci os-management-hub software-source list ----is-mirror-sync-allowed``
101+
* ``oci os-management-hub work-request list --rerun-of-id``
102+
9103
3.51.8 - 2025-02-18
10104
--------------------
11105
Added

requirements.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ Jinja2<3.1; python_version >= '3.7'
1515
jmespath==0.10.0
1616
ndg-httpsclient==0.4.2
1717
mock==2.0.0
18-
oci==2.145.0
18+
oci==2.146.0
1919
packaging==20.2
2020
pluggy==0.13.0
2121
py==1.11.0

services/container_engine/src/oci_cli_container_engine/containerengine_cli_extended.py

+2-33
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
import yaml
1717
import base64
1818
from datetime import datetime, timedelta
19-
from timeit import default_timer as timer
2019

2120
DEFAULT_KUBECONFIG_LOCATION = os.path.join('~', '.kube', 'config')
2221
cli_util.rename_command(containerengine_cli, containerengine_cli.work_request_log_entry_group, containerengine_cli.list_work_request_logs,
@@ -37,24 +36,21 @@
3736
@json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={})
3837
@cli_util.wrap_exceptions
3938
def generate_token(ctx, from_json, cluster_id):
40-
start_time1 = timer()
4139
if isinstance(cluster_id, six.string_types) and len(cluster_id.strip()) == 0:
4240
raise click.UsageError('Parameter --cluster-id cannot be whitespace or empty string')
4341

4442
client = cli_util.build_client('container_engine', 'container_engine', ctx)
4543
signer = client.base_client.signer
46-
end_time1 = timer()
4744

4845
url = "https://containerengine.%s.oraclecloud.com/cluster_request/%s" % (ctx.obj['config']['region'], cluster_id)
4946

5047
# Create the presigned request that we need to sign.
5148
# The output of this signed request will be used to build the token.
52-
start_time2 = timer()
5349
request = signer.do_request_sign(Request(
5450
"GET",
5551
url,
5652
).prepare())
57-
end_time2 = timer()
53+
5854
# Now that we have the signed request we need to turn it into
5955
# the base64 encoded token that OKE will authenticate.
6056

@@ -66,43 +62,16 @@ def generate_token(ctx, from_json, cluster_id):
6662
if isinstance(signer, InstancePrincipalsDelegationTokenSigner):
6763
header_params['opc-obo-token'] = signer.delegation_token
6864

69-
start_time3 = timer()
7065
token_request = Request(
7166
"GET",
7267
url,
7368
params=header_params,
7469
).prepare()
75-
end_time3 = timer()
7670

7771
# Generate the ExecCredential that the Kubernetes exec plugin provide requires.
7872
# https://kubernetes.io/docs/reference/access-authn-authz/authentication/#input-and-output-formats
7973

80-
# token = base64.urlsafe_b64encode(token_request.url.encode('utf-8')).decode('utf-8')
81-
# Step 1: Encode URL to bytes (UTF-8)
82-
start_step1 = timer()
83-
encoded_url = token_request.url.encode('utf-8')
84-
end_step1 = timer()
85-
86-
# Step 2: Base64 encode the byte object
87-
start_step2 = timer()
88-
base64_encoded = base64.urlsafe_b64encode(encoded_url)
89-
end_step2 = timer()
90-
91-
# Step 3: Decode the Base64 result back into a string (UTF-8)
92-
start_step3 = timer()
93-
token = base64_encoded.decode('utf-8')
94-
end_step3 = timer()
95-
96-
if ctx.obj['debug']:
97-
# Print the time for each step
98-
print('time elapsed for building client: {}'.format(str(end_time1 - start_time1)))
99-
print('time elapsed for signing request: {}'.format(str(end_time2 - start_time2)))
100-
print('time elapsed for making request obj: {}'.format(str(end_time3 - start_time3)))
101-
print(f"Step 1 (Encoding to bytes): {end_step1 - start_step1} seconds")
102-
print(f"Step 2 (Base64 encoding): {end_step2 - start_step2} seconds")
103-
print(f"Step 3 (Decoding to string): {end_step3 - start_step3} seconds")
104-
print(f"overhead time: {start_time1 - ctx.obj['start_time']}")
105-
print(f"total time taken for token creation: {timer() - ctx.obj['start_time']}")
74+
token = base64.urlsafe_b64encode(token_request.url.encode('utf-8')).decode('utf-8')
10675
# Get now+4 minutes in RFC3339 format.
10776
# This informs Kubernetes SDK/CLIs that it's time to refresh the token
10877
# before the token is actually expired.

0 commit comments

Comments
 (0)