Using the Service CLI
The command line interface to the Service Enclave, which we refer to as the Service CLI in the documentation, is available through the Oracle Linux shell on the management nodes. There is no additional installation or configuration required. The CLI provides access to all the functionality of the Service Web UI, as well as several additional operations that do not have a UI equivalent.
This section provides general guidelines for using the Service CLI. The actual commands and their functions are documented throughout the Oracle Private Cloud Appliance Administrator Guide as part of the step-by-step instructions in the chapters that follow.
Accessing the CLI
To access the Service CLI, establish an SSH connection to TCP port 30006 on one of the following nodes and log in as an authorized administrator:
-
On one of the management nodes.
$ ssh admin@pcamn02 -p 30006 Password authentication Password: PCA-ADMIN>
-
On the Private Cloud Appliance.
$ ssh admin@admin.pca_hostname.example.com -p 30006
After successful authentication, you are in an interactive, closed shell environment where
you perform administrative operations by entering commands at the
PCA-ADMIN>
prompt.
To terminate your CLI session, enter the exit
command.
Command syntax and completion functions are described in the following sections.
Command Syntax
In general, commands entered in the Service CLI have the following syntax:
PCA-ADMIN> command objectType <attributes> [options]
where:
-
command
is the command type to be initiated, for example:list
orcreate
. -
objectType
is the target component or process affected by the command, for example:list ComputeNode
orcreate Tenant
. -
attributes
are properties used to identify a specific object of the selected type to which the command must be applied, for example:show ManagementNode name=pcamn02
. -
options
are additional parameters that may be provided to affect the behavior of the command.For example, you can add sorting and filtering options to the
list
command and select which data columns (fields) to display:list RackUnit fields ipAddress,name,rackElevation,serialNumber,firmwareVersion where state eq running
.
The main elements of a command are separated by a space. Attributes are specified as
"type=value
". Lists are entered as a comma-separated series of values (such
as fields
ipAddress,name,rackElevation,serialNumber,firmwareVersion
).
Help and Command Completion
The Service CLI includes a help
command. It shows how the most common types of commands are used, which helps you get
familiar with the basics of the CLI.
PCA-ADMIN> help For Most Object Types: create <objectType> [(attribute1)="value1"] ... [on <objectType> <instance>] delete <objectType> <instance> edit <objectType> <instance> (attribute1)="value1" ... list <objectType> [fields (attribute1,attribute2)]where [(filterableAttribute1) \ <filterComparator> "value1" [AND|OR] [(filterableAttribute2) <filterComparator> "value2" show <objectType> <instance> For Most Object Types with Children: add <objectType> <instance> to <objectType> <instance> remove <objectType> <instance> from <objectType> <instance> Other Commands: exit showallcustomcmds showcustomcmds <objectType> showobjtypes
The easiest way to learn which commands and object types are available, is to use the
question mark ("?"
). After logging in, you start by entering
"?"
at the CLI prompt, in order to display the set of base
commands.
PCA-ADMIN> ? add clear count create delete edit [...]
You can drill down into the commands, object types and other elements by adding the
"?"
to see the available parameters at that cursor position.
Note:
Mind the position of the question mark: it is separated from the command by a space. If you omit the space, the CLI displays the parameters allowed at the level of that command, instead of the parameters that may follow after the command.
For example, if you want to see which object types you can list, type list
?
and press Enter. Next, assume that you want to find compute nodes that
have not yet been provisioned. To achieve this, you can display a list of compute nodes
filtered by their provisioning state. The "?"
allows you to navigate
through the command parameters, as shown below. Each time you type "?"
the CLI displays the parameters you can use at the cursor position. Press the Up arrow
key to bring back the part of the command you already typed at the prompt, then add the
next part of your command, and type "?"
again to display the next set
of parameters. When your command is complete, press Enter.
PCA-ADMIN> list ? AuthorizationGroup ComputeNode Event Fault [...] PCA-ADMIN> list ComputeNode ? fields limit orderby where PCA-ADMIN> list ComputeNode where ? id provisioningState provisioningStateLastChangedTime provisioningType faultDomain [...] PCA-ADMIN> list ComputeNode where provisioningState ? EQ NE LIKE [...] PCA-ADMIN> list ComputeNode where provisioningState EQ ? READYTOPROVISION PROVISIONED PCA-ADMIN> list ComputeNode where provisioningState EQ READYTOPROVISION Command: list ComputeNode where provisioningState EQ READYTOPROVISION Status: Success Time: 2021-06-25 14:04:16,837 UTC Data: id name provisioningState -- ---- ----------------- bb940637-9825-4f7c-a5f4-1b49bcf6a5c9 pcacn005 Ready To Provision 76df44a9-6980-4242-a3a2-e1614b3d44d1 pcacn008 Ready To Provision 8fc0d06f-c64a-40ea-8a20-89680f03eb5e pcacn011 Ready To Provision
The Service CLI also provides a form of tab completion. When you start to type a command and press the Tab key, the CLI auto-completes the part it can predict. If more than one possible value remains, you should add at least one more letter and press the Tab key again. The following examples illustrate how the CLI performs tab completion.
-
Tab completion with one possible match
PCA-ADMIN> list Com<Tab> PCA-ADMIN> list ComputeNode
-
Tab completion with more than one possible match
PCA-ADMIN> list Ra<Tab> PCA-ADMIN> list Rack PCA-ADMIN> list RackU<Tab> PCA-ADMIN> list RackUnit
Base and Custom Commands
When you enter the help
command or type the question mark
("?"
) at the PCA-ADMIN>
prompt, the CLI returns
information about its base commands, such as create
,
edit
, add
, remove
,
delete
, list
, show
, and so on.
However, there is another set of less commonly used custom commands. You can
display them all as a single list, or only those available for a particular object type.
You can use the "?"
to navigate through the commands.
PCA-ADMIN> showallcustomcmds Operation Name: <Related Object(s)> ----------------------------------- asrClientDisable: ASRPhonehome asrClientEnable: ASRPhonehome asrClientRegister: ASRPhonehome [...] changeIlomPassword: ComputeNode, ManagementNode changePassword: ComputeNode, LeafSwitch, ManagementNode, ManagementSwitch, SpineSwitch, User, ZFSAppliance clearFirstBootError: NetworkConfig configZFSAdDomain: ZfsAdDomain configZFSAdWorkgroup: ZfsAdDomain createAdminAccount: createUserInGroup: User deletePlatformImage: PlatformImage deprovision: ComputeNode disableVmHighAvailability: PcaSystem drAddComputeInstance: ComputeInstance drAddSiteMapping: DrSiteMapping drConfigCleanupPrimary: DrConfig [...] maintenanceLock: ComputeNode maintenanceUnlock: ComputeNode migrateVm: ComputeNode patchCN: PatchRequest patchEtcd: PatchRequest patchHost: PatchRequest patchIlom: PatchRequest patchKubernetes: PatchRequest patchMySQL: PatchRequest patchOCIImages: PatchRequest patchPlatform: PatchRequest patchSwitch: PatchRequest patchVault: PatchRequest patchZfssa: PatchRequest [...] start: CnUpdateManager, ComputeNode, Day0NetworkConfigManager, FaultManager, PurgeManager, ZfsPoolManager stop: CnUpdateManager, ComputeNode, Day0NetworkConfigManager, FaultManager, PurgeManager, ZfsPoolManager syncHardwareData: syncUpstreamUlnMirror: PatchRequest systemStateLock: PcaSystem systemStateUnlock: PcaSystem updateSauronCredentials: upgradeCN: UpgradeRequest upgradeEtcd: UpgradeRequest upgradeFullMN: UpgradeRequest upgradeHost: UpgradeRequest upgradeIlom: UpgradeRequest upgradeKubernetes: UpgradeRequest upgradeMySQL: UpgradeRequest upgradePlatform: UpgradeRequest upgradePreConfig: UpgradeRequest upgradeSwitch: UpgradeRequest upgradeVault: UpgradeRequest upgradeZfssa: UpgradeRequest PCA-ADMIN> showcustomcmds ? ASRBundle ASRPhonehome BackupJob CnUpdateManager ComputeInstance ComputeNode Day0NetworkConfigManager DrConfig DrJob DrSiteMapping Event ExadataNetwork FaultDomainInfo FaultManager Job LeafSwitch ManagementNode ManagementSwitch NetworkConfig PatchRequest PcaSystem PlatformImage PurgeManager SpineSwitch UpgradeJob UpgradeJobList UpgradeRequest User Vcn ZfsAdDomain ZFSAppliance ZfsPoolManager PCA-ADMIN> showcustomcmds ComputeNode provisioningLock provisioningUnlock maintenanceLock maintenanceUnlock provision deprovision migrateVm reset start stop changePassword changeIlomPassword getRunningInstances getRunningInstancesCount