Skip to content

Commit 16d915d

Browse files
Releasing version 3.29.4
Releasing version 3.29.4
2 parents 5d14cfc + 7342cae commit 16d915d

File tree

31 files changed

+1572
-252
lines changed

31 files changed

+1572
-252
lines changed

CHANGELOG.rst

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,51 @@ 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.29.4 - 2023-07-18
10+
--------------------
11+
Added
12+
~~~~~
13+
14+
* Support for no-browser authentication
15+
16+
* oci session authenticate --no-browser
17+
18+
* Big Data service
19+
20+
* Support for new commands
21+
22+
* ``oci bds instance get-os-patch-details``
23+
* ``oci bds instance install-os-patch``
24+
* ``oci bds instance list-os-patches``
25+
* ``oci bds instance master-nodes add``
26+
* ``oci bds instance utility-nodes add``
27+
28+
* Support for new optional parameter
29+
30+
* ``oci bds instance list-patch-histories --patch-type``
31+
32+
* File Storage service
33+
34+
* Support for new commands
35+
36+
* ``oci fs mount-target validate-key-tabs``
37+
* ``oci fs outbound-connector``
38+
39+
* Support for new optional parameters for Kerberos and LDAP with NFSv3
40+
41+
* ``oci fs export create --is-idmap-groups-for-sys-auth``
42+
* ``oci fs export update --is-idmap-groups-for-sys-auth``
43+
* ``oci fs mount-target create --idmap-type --kerberos --ldap-idmap``
44+
* ``oci fs mount-target update --idmap-type --kerberos --ldap-idmap``
45+
46+
* Support for new optional parameter in the Disaster Recovery service
47+
48+
* ``oci disaster-recovery dr-protection-group list --role``
49+
50+
* Support for test connectivity for connections associated with deployments in the Goldengate service
51+
52+
* ``oci goldengate connection-assignment test``
53+
954
3.29.3 - 2023-07-11
1055
--------------------
1156
Added

requirements.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ Jinja2==3.0.3
1414
jmespath==0.10.0
1515
ndg-httpsclient==0.4.2
1616
mock==2.0.0
17-
oci==2.106.0
17+
oci==2.107.0
1818
packaging==20.2
1919
pluggy==0.13.0
2020
py==1.10.0

scripts/install/install.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -244,11 +244,13 @@ def upgrade_pip_wheel(tmp_dir, install_dir, dependency_dir=DEFAULT_DEPENDENCY_DI
244244
else:
245245
cmd = [path_to_pip, 'install', '--upgrade', 'pip']
246246
else:
247-
# Upgrade pip wtih internal wheel file
247+
# Upgrade pip with internal wheel file
248+
py_ver = 'python' + str(sys.version_info.major) + str(sys.version_info.minor) + '.html'
248249
if not is_windows():
249-
cmd = [path_to_pip, 'install', 'pip', '--upgrade', '--find-links', dependency_dir, '--no-index']
250+
cmd = [path_to_pip, 'install', 'pip', '--upgrade', '--find-links', os.path.join(dependency_dir, py_ver), '--no-index']
250251
else:
251-
cmd = [path_to_python, '-m', 'pip', 'install', 'pip', '--upgrade', '--find-links', dependency_dir, '--no-index']
252+
cmd = [path_to_python, '-m', 'pip', 'install', 'pip', '--upgrade', '--find-links', os.path.join(dependency_dir, py_ver),
253+
'--no-index']
252254

253255
if DRY_RUN:
254256
print_status('dry-run: Skipping pip upgrade, cmd=' + str(cmd))

services/bds/src/oci_cli_bds/bds_cli_extended.py

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,30 @@ def bds_worker_nodes_group():
3131
bds_worker_nodes_group.add_command(bds_cli.add_worker_nodes)
3232

3333

34+
# oci bds bds-instance add -> oci bds instance master-nodes add
35+
@click.command('master-nodes', cls=CommandGroupWithAlias, help=bds_cli.add_master_nodes.help)
36+
@cli_util.help_option_group
37+
def bds_master_nodes_group():
38+
pass
39+
40+
41+
# bds_cli.bds_instance_group.commands.pop(bds_cli.add_master_nodes.name)
42+
bds_cli.bds_instance_group.add_command(bds_master_nodes_group)
43+
bds_master_nodes_group.add_command(bds_cli.add_master_nodes)
44+
45+
46+
# oci bds bds-instance add -> oci bds instance utility-nodes add
47+
@click.command('utility-nodes', cls=CommandGroupWithAlias, help=bds_cli.add_utility_nodes.help)
48+
@cli_util.help_option_group
49+
def bds_utility_nodes_group():
50+
pass
51+
52+
53+
# bds_cli.bds_instance_group.commands.pop(bds_cli.add_utility_nodes.name)
54+
bds_cli.bds_instance_group.add_command(bds_utility_nodes_group)
55+
bds_utility_nodes_group.add_command(bds_cli.add_utility_nodes)
56+
57+
3458
# oci bds bds-instance add -> oci bds kafka
3559
# oci bds bds-instance remove -> oci bds kafka
3660
@click.command('kafka', cls=CommandGroupWithAlias, help='Kafka')

services/bds/src/oci_cli_bds/generated/bds_cli.py

Lines changed: 292 additions & 1 deletion
Large diffs are not rendered by default.

services/container_instances/src/oci_cli_container_instance/generated/containerinstance_cli.py

Lines changed: 71 additions & 69 deletions
Large diffs are not rendered by default.

services/core/src/oci_cli_compute/generated/compute_cli.py

Lines changed: 163 additions & 75 deletions
Large diffs are not rendered by default.

services/core/src/oci_cli_compute_management/generated/computemanagement_cli.py

Lines changed: 53 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,11 @@ def instance_configuration_group():
5454
pass
5555

5656

57-
@click.command(cli_util.override('compute_management.cluster_network_group.command_name', 'cluster-network'), cls=CommandGroupWithAlias, help="""A cluster network is a group of high performance computing (HPC) bare metal instances that are connected with an ultra low latency network. For more information about cluster networks, see [Managing Cluster Networks].""")
57+
@click.command(cli_util.override('compute_management.cluster_network_group.command_name', 'cluster-network'), cls=CommandGroupWithAlias, help="""A cluster network is a group of high performance computing (HPC), GPU, or optimized bare metal instances that are connected with an ultra low-latency remote direct memory access (RDMA) network. [Cluster networks with instance pools] use instance pools to manage groups of identical instances.
58+
59+
Use cluster networks with instance pools when you want predictable capacity for a specific number of identical instances that are managed as a group.
60+
61+
If you want to manage instances in the RDMA network independently of each other or use different types of instances in the network group, use compute clusters instead. For details, see [ComputeCluster].""")
5862
@cli_util.help_option_group
5963
def cluster_network_group():
6064
pass
@@ -196,7 +200,7 @@ def attach_load_balancer(ctx, from_json, wait_for_state, max_wait_seconds, wait_
196200
cli_util.render_response(result, ctx)
197201

198202

199-
@cluster_network_group.command(name=cli_util.override('compute_management.change_cluster_network_compartment.command_name', 'change-compartment'), help=u"""Moves a cluster network into a different compartment within the same tenancy. For information about moving resources between compartments, see [Moving Resources to a Different Compartment].
203+
@cluster_network_group.command(name=cli_util.override('compute_management.change_cluster_network_compartment.command_name', 'change-compartment'), help=u"""Moves a [cluster network with instance pools] into a different compartment within the same tenancy. For information about moving resources between compartments, see [Moving Resources to a Different Compartment].
200204
201205
When you move a cluster network to a different compartment, associated resources such as the instances in the cluster network, boot volumes, and VNICs are not moved. \n[Command Reference](changeClusterNetworkCompartment)""")
202206
@cli_util.option('--cluster-network-id', required=True, help=u"""The [OCID] of the cluster network.""")
@@ -297,7 +301,11 @@ def change_instance_pool_compartment(ctx, from_json, instance_pool_id, compartme
297301
cli_util.render_response(result, ctx)
298302

299303

300-
@cluster_network_group.command(name=cli_util.override('compute_management.create_cluster_network.command_name', 'create'), help=u"""Creates a cluster network. For more information about cluster networks, see [Managing Cluster Networks].
304+
@cluster_network_group.command(name=cli_util.override('compute_management.create_cluster_network.command_name', 'create'), help=u"""Creates a [cluster network with instance pools]. A cluster network is a group of high performance computing (HPC), GPU, or optimized bare metal instances that are connected with an ultra low-latency remote direct memory access (RDMA) network. Cluster networks with instance pools use instance pools to manage groups of identical instances.
305+
306+
Use cluster networks with instance pools when you want predictable capacity for a specific number of identical instances that are managed as a group.
307+
308+
If you want to manage instances in the RDMA network independently of each other or use different types of instances in the network group, create a compute cluster by using the [CreateComputeCluster] operation.
301309
302310
To determine whether capacity is available for a specific shape before you create a cluster network, use the [CreateComputeCapacityReport] operation. \n[Command Reference](createClusterNetwork)""")
303311
@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment containing the cluster network.""")
@@ -737,7 +745,7 @@ def detach_load_balancer(ctx, from_json, wait_for_state, max_wait_seconds, wait_
737745
cli_util.render_response(result, ctx)
738746

739747

740-
@cluster_network_group.command(name=cli_util.override('compute_management.get_cluster_network.command_name', 'get'), help=u"""Gets information about the specified cluster network. \n[Command Reference](getClusterNetwork)""")
748+
@cluster_network_group.command(name=cli_util.override('compute_management.get_cluster_network.command_name', 'get'), help=u"""Gets information about a [cluster network with instance pools]. \n[Command Reference](getClusterNetwork)""")
741749
@cli_util.option('--cluster-network-id', required=True, help=u"""The [OCID] of the cluster network.""")
742750
@json_skeleton_utils.get_cli_json_input_option({})
743751
@cli_util.help_option
@@ -883,6 +891,43 @@ def launch_instance_configuration(ctx, from_json, instance_configuration_id, ins
883891
cli_util.render_response(result, ctx)
884892

885893

894+
@instance_group.command(name=cli_util.override('compute_management.launch_instance_configuration_compute_instance_options.command_name', 'launch-instance-configuration-compute-instance-options'), help=u"""Creates an instance from an instance configuration.
895+
896+
If the instance configuration does not include all of the parameters that are required to create an instance, such as the availability domain and subnet ID, you must provide these parameters when you create an instance from the instance configuration. For more information, see the [InstanceConfiguration] resource.
897+
898+
To determine whether capacity is available for a specific shape before you create an instance, use the [CreateComputeCapacityReport] operation. \n[Command Reference](launchInstanceConfiguration)""")
899+
@cli_util.option('--instance-configuration-id', required=True, help=u"""The OCID of the instance configuration.""")
900+
@cli_util.option('--options', type=custom_types.CLI_COMPLEX_TYPE, help=u"""The Compute Instance Configuration parameters.
901+
902+
This option is a JSON list with items of type ComputeInstanceDetails. For documentation on ComputeInstanceDetails please see our API reference: https://docs.cloud.oracle.com/api/#/en/iaas/20160918/datatypes/ComputeInstanceDetails.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
903+
@json_skeleton_utils.get_cli_json_input_option({'options': {'module': 'core', 'class': 'list[ComputeInstanceDetails]'}})
904+
@cli_util.help_option
905+
@click.pass_context
906+
@json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={'options': {'module': 'core', 'class': 'list[ComputeInstanceDetails]'}}, output_type={'module': 'core', 'class': 'Instance'})
907+
@cli_util.wrap_exceptions
908+
def launch_instance_configuration_compute_instance_options(ctx, from_json, instance_configuration_id, options):
909+
910+
if isinstance(instance_configuration_id, six.string_types) and len(instance_configuration_id.strip()) == 0:
911+
raise click.UsageError('Parameter --instance-configuration-id cannot be whitespace or empty string')
912+
913+
kwargs = {}
914+
915+
_details = {}
916+
917+
if options is not None:
918+
_details['options'] = cli_util.parse_json_parameter("options", options)
919+
920+
_details['instanceType'] = 'instance_options'
921+
922+
client = cli_util.build_client('core', 'compute_management', ctx)
923+
result = client.launch_instance_configuration(
924+
instance_configuration_id=instance_configuration_id,
925+
instance_configuration=_details,
926+
**kwargs
927+
)
928+
cli_util.render_response(result, ctx)
929+
930+
886931
@instance_group.command(name=cli_util.override('compute_management.launch_instance_configuration_compute_instance_details.command_name', 'launch-instance-configuration-compute-instance-details'), help=u"""Creates an instance from an instance configuration.
887932
888933
If the instance configuration does not include all of the parameters that are required to create an instance, such as the availability domain and subnet ID, you must provide these parameters when you create an instance from the instance configuration. For more information, see the [InstanceConfiguration] resource.
@@ -930,7 +975,7 @@ def launch_instance_configuration_compute_instance_details(ctx, from_json, insta
930975
cli_util.render_response(result, ctx)
931976

932977

933-
@cluster_network_group.command(name=cli_util.override('compute_management.list_cluster_network_instances.command_name', 'list-cluster-network-instances'), help=u"""Lists the instances in the specified cluster network. \n[Command Reference](listClusterNetworkInstances)""")
978+
@cluster_network_group.command(name=cli_util.override('compute_management.list_cluster_network_instances.command_name', 'list-cluster-network-instances'), help=u"""Lists the instances in a [cluster network with instance pools]. \n[Command Reference](listClusterNetworkInstances)""")
934979
@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
935980
@cli_util.option('--cluster-network-id', required=True, help=u"""The [OCID] of the cluster network.""")
936981
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the given display name exactly.""")
@@ -997,7 +1042,7 @@ def list_cluster_network_instances(ctx, from_json, all_pages, page_size, compart
9971042
cli_util.render_response(result, ctx)
9981043

9991044

1000-
@cluster_network_group.command(name=cli_util.override('compute_management.list_cluster_networks.command_name', 'list'), help=u"""Lists the cluster networks in the specified compartment. \n[Command Reference](listClusterNetworks)""")
1045+
@cluster_network_group.command(name=cli_util.override('compute_management.list_cluster_networks.command_name', 'list'), help=u"""Lists the [cluster networks with instance pools] in the specified compartment. \n[Command Reference](listClusterNetworks)""")
10011046
@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
10021047
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the given display name exactly.""")
10031048
@cli_util.option('--limit', type=click.INT, help=u"""For list pagination. The maximum number of results per page, or items to return in a paginated \"List\" call. For important details about how pagination works, see [List Pagination].
@@ -1501,7 +1546,7 @@ def stop_instance_pool(ctx, from_json, wait_for_state, max_wait_seconds, wait_in
15011546
cli_util.render_response(result, ctx)
15021547

15031548

1504-
@cluster_network_group.command(name=cli_util.override('compute_management.terminate_cluster_network.command_name', 'terminate'), help=u"""Terminates the specified cluster network.
1549+
@cluster_network_group.command(name=cli_util.override('compute_management.terminate_cluster_network.command_name', 'terminate'), help=u"""Deletes (terminates) a [cluster network with instance pools].
15051550
15061551
When you delete a cluster network, all of its resources are permanently deleted, including associated instances and instance pools. \n[Command Reference](terminateClusterNetwork)""")
15071552
@cli_util.option('--cluster-network-id', required=True, help=u"""The [OCID] of the cluster network.""")
@@ -1622,7 +1667,7 @@ def terminate_instance_pool(ctx, from_json, wait_for_state, max_wait_seconds, wa
16221667
cli_util.render_response(result, ctx)
16231668

16241669

1625-
@cluster_network_group.command(name=cli_util.override('compute_management.update_cluster_network.command_name', 'update'), help=u"""Updates the specified cluster network. The OCID of the cluster network remains the same. \n[Command Reference](updateClusterNetwork)""")
1670+
@cluster_network_group.command(name=cli_util.override('compute_management.update_cluster_network.command_name', 'update'), help=u"""Updates a [cluster network with instance pools]. The OCID of the cluster network remains the same. \n[Command Reference](updateClusterNetwork)""")
16261671
@cli_util.option('--cluster-network-id', required=True, help=u"""The [OCID] of the cluster network.""")
16271672
@cli_util.option('--defined-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags].
16281673

services/core/tests/unit/test_compute_cli_extended.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ def test_launch_instance(self):
1515
assert 'Error: Missing option(s)' in result.output
1616
assert 'availability-domain' in result.output
1717
assert 'compartment-id' in result.output
18-
assert 'shape' in result.output
1918
assert 'subnet-id' in result.output
2019

2120
result = util.invoke_command(['compute', 'instance', 'launch', '--availability-domain', 'dummy', '--compartment-id', 'dummy', '--shape', 'dummy', '--subnet-id', 'dummy'])

0 commit comments

Comments
 (0)