Usando a CLI do Serviço

A interface de linha de comando para o Private Cloud Appliance Service Enclave, à qual nos referimos como CLI de Serviço na documentação, está disponível por meio do shell do Oracle Linux nos nós de gerenciamento. Não há necessidade de instalação ou configuração adicional.

A CLI fornece acesso a todas as funcionalidades da UI da Web do Serviço e a várias operações adicionais que não têm uma UI equivalente. Este tópico fornece diretrizes gerais para usar a CLI do Serviço. Os comandos reais e suas funções são documentados em toda a área de administrador da documentação, como parte das instruções passo a passo.

Observação

A CLI aceita apenas caracteres da tabela ASCII de 7 bits de letras, números e outros caracteres. Nem todos são válidos para todos os campos, mas A-Z, a-z e 0-9 são geralmente aceitos. A CLI ignora caracteres acentuados ou os da tabela UTF. É necessário um cuidado especial para verificar os valores fornecidos em certificados ou outras fontes.

Acessando a CLI

Para acessar a CLI do Serviço, estabeleça uma conexão SSH com a porta TCP 30006 em um nó de gerenciamento e faça log-in como administrador autorizado.

  • Estabeleça conexão com o nó principal no cluster de gerenciamento (preferencial):

    $ ssh admin@admin.pca_hostname.example.com -p 30006
    Password authentication
    PCA-ADMIN>
  • Conecte-se a um nó de gerenciamento específico:

    $ ssh admin@pcamn02 -p 30006
    Password authentication
    PCA-ADMIN>

Após a autenticação bem-sucedida, você estará em um ambiente de shell interativo e fechado em que executará operações administrativas informando comandos no prompt PCA-ADMIN>.

Para encerrar sua sessão da CLI, informe o comando exit.

Sintaxe de Comando

Em geral, os comandos inseridos na CLI de Serviço têm a seguinte sintaxe:

PCA-ADMIN> command objectType <attributes> [options]

em que:

  • command é o tipo de comando a ser iniciado, por exemplo: list ou create.

  • objectType é o componente ou processo de destino afetado pelo comando, por exemplo: list ComputeNode ou create Tenant.

  • attributes são propriedades usadas para identificar um objeto específico do tipo selecionado ao qual o comando deve ser aplicado, por exemplo: show ManagementNode name=pcamn02.

  • options são parâmetros adicionais que podem ser fornecidos para afetar o comportamento do comando.

    Por exemplo, você pode adicionar opções de classificação e filtragem ao comando list e selecionar quais colunas de dados (campos) exibir: list RackUnit fields ipAddress,name,rackElevation,serialNumber,firmwareVersion where state eq running.

Os principais elementos de um comando são separados por um espaço. Os atributos são especificados como "type=value". As listas são inseridas como uma série de valores separados por vírgulas (como fields ipAddress,name,rackElevation,serialNumber,firmwareVersion).

Ajuda e Conclusão de Comando

A CLI do Serviço inclui um comando help. Ele mostra como os tipos mais comuns de comandos são usados, o que ajuda você a se familiarizar com os conceitos básicos da 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

A maneira mais fácil de saber quais comandos e tipos de objeto estão disponíveis é usar o ponto de interrogação ("?"). Depois de acessar, você começa digitando "?" no prompt da CLI para exibir o conjunto de comandos base.

PCA-ADMIN> ?
           add
           clear
           count
           create
           delete
           edit
           [...]

Você pode fazer drill-down nos comandos, tipos de objeto e outros elementos adicionando o "?" para ver os parâmetros disponíveis nessa posição do cursor.

Observação

Lembre-se da posição do ponto de interrogação: ele é separado do comando por um espaço. Se você omitir o espaço, a CLI exibirá os parâmetros permitidos no nível desse comando, em vez dos parâmetros que podem seguir depois do comando.

Por exemplo, se quiser ver quais tipos de objeto você pode listar, digite list ? e pressione Enter.

Em seguida, suponha que você queira localizar nós de computação que ainda não foram provisionados. Para isso, você pode exibir uma lista de nós de computação filtrados por seu estado de provisionamento. O "?" permite que você navegue pelos parâmetros de comando, conforme mostrado abaixo.

Cada vez que você digita "?", a CLI exibe os parâmetros que você pode usar na posição do cursor. Pressione a tecla de seta para cima para recuperar a parte do comando que você já digitou no prompt, depois adicione a próxima parte do comando e digite "?" novamente para exibir o próximo conjunto de parâmetros.

Quando o comando estiver concluído, pressione 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

A CLI de Serviço também fornece uma forma de preenchimento de guia. Quando você começa a digitar um comando e pressiona a tecla Tab, a CLI preenche automaticamente a parte que pode prever. Se mais de um valor possível permanecer, você deverá adicionar pelo menos mais uma letra e pressionar a tecla Tab novamente. Os exemplos a seguir ilustram como a CLI executa o preenchimento de guias.

  • Preenchimento de guia com uma possível correspondência

    PCA-ADMIN> list Com<Tab>
    PCA-ADMIN> list ComputeNode
  • Preenchimento de guia com mais de uma correspondência possível

    PCA-ADMIN> list Ra<Tab>
    PCA-ADMIN> list Rack
    
    PCA-ADMIN> list RackU<Tab>
    PCA-ADMIN> list RackUnit

Comandos Base e Personalizados

Quando você digita o comando help ou digita o ponto de interrogação ("?") no prompt PCA-ADMIN>, a CLI retorna informações sobre seus comandos base, como create, edit, add, remove, delete, list, show etc. No entanto, há outro conjunto de comandos personalizados menos usados. Você pode exibir todas elas como uma única lista ou apenas as disponíveis para um tipo de objeto específico. Você pode usar o "?" para navegar pelos comandos.

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