Utilisation de la CLI de service

L'interface de ligne de commande de l'enclave de service Private Cloud Appliance, que nous appelons l'interface de ligne de commande de service dans la documentation, est disponible via le shell Oracle Linux sur les noeuds de gestion. Aucune installation ou configuration supplémentaire n'est requise.

L'interface de ligne de commande permet d'accéder à toutes les fonctionnalités de l'interface utilisateur Web de service et à plusieurs opérations supplémentaires qui n'ont pas d'équivalent d'interface utilisateur. Cette rubrique fournit des instructions générales sur l'utilisation de la CLI de service. Les commandes réelles et leurs fonctions sont documentées tout au long de la zone d'administration de la documentation, dans le cadre des instructions détaillées.

Remarque

La CLI accepte uniquement les caractères de la table ASCII 7 bits contenant des lettres, des chiffres et d'autres caractères. Tous les champs ne sont pas valides, mais A-Z, a-z et 0-9 sont généralement acceptés. L'interface de ligne de commande ignore les caractères accentués ou ceux de la table UTF. Une attention particulière est nécessaire pour filtrer les valeurs fournies dans les certificats ou d'autres sources.

Accès à la CLI

Pour accéder à la CLI de service, établissez une connexion SSH au port TCP 30006 sur un noeud de gestion et connectez-vous en tant qu'administrateur autorisé.

  • Connectez-vous au noeud principal du cluster de gestion (de préférence) :

    $ ssh admin@admin.pca_hostname.example.com -p 30006
    Password authentication
    PCA-ADMIN>
  • Connectez-vous à un noeud de gestion spécifique :

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

Une fois l'authentification réussie, vous êtes dans un environnement shell interactif fermé où vous effectuez des opérations d'administration en saisissant des commandes à l'invite PCA-ADMIN>.

Pour mettre fin à la session d'interface de ligne de commande, entrez la commande exit.

Syntaxe des commandes

En général, les commandes saisies dans la CLI de service ont la syntaxe suivante :

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

où :

  • command est le type de commande à lancer, par exemple : list ou create.

  • objectType est le composant ou processus cible affecté par la commande, par exemple : list ComputeNode ou create Tenant.

  • attributes est une propriété utilisée pour identifier un objet spécifique du type sélectionné auquel la commande doit être appliquée, par exemple : show ManagementNode name=pcamn02.

  • options sont des paramètres supplémentaires qui peuvent être fournis pour affecter le comportement de la commande.

    Par exemple, vous pouvez ajouter des options de tri et de filtrage à la commande list et sélectionner les colonnes de données (champs) à afficher : list RackUnit fields ipAddress,name,rackElevation,serialNumber,firmwareVersion where state eq running.

Les éléments principaux d'une commande sont séparés par un espace. Les attributs sont spécifiés en tant que "type=value". Les listes sont saisies sous la forme d'une série de valeurs séparées par des virgules (par exemple, fields ipAddress,name,rackElevation,serialNumber,firmwareVersion).

Fin de l'aide et de la commande

L'interface de ligne de commande de service inclut une commande help. Il montre comment les types de commande les plus courants sont utilisés, ce qui vous aide à vous familiariser avec les notions de base de la 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

Le moyen le plus simple de savoir quelles commandes et quels types d'objet sont disponibles est d'utiliser le point d'interrogation ("?"). Une fois connecté, vous commencez par saisir "?" à l'invite de l'interface de ligne de commande afin d'afficher l'ensemble des commandes de base.

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

Vous pouvez effectuer une analyse descendante des commandes, des types d'objet et d'autres éléments en ajoutant "?" pour afficher les paramètres disponibles à la position du curseur.

Remarque

Réfléchissez à la position du point d'interrogation : il est séparé de la commande par un espace. Si vous omettez l'espace, la CLI affiche les paramètres autorisés au niveau de cette commande, au lieu des paramètres qui peuvent suivre après la commande.

Par exemple, si vous voulez voir quels types d'objet vous pouvez répertorier, saisissez list ? et appuyez sur Entrée.

Supposons ensuite que vous voulez rechercher les noeuds de calcul qui n'ont pas encore été provisionnés. Pour ce faire, vous pouvez afficher la liste des noeuds de calcul filtrés par leur état de provisionnement. "?" vous permet d'accéder aux paramètres de commande, comme indiqué ci-dessous.

Chaque fois que vous saisissez "?", l'interface de ligne de commande affiche les paramètres que vous pouvez utiliser à la position du curseur. Appuyez sur la flèche vers le haut pour revenir à la partie de la commande que vous avez déjà saisie à l'invite, puis ajoutez la partie suivante de la commande et saisissez à nouveau "?" pour afficher l'ensemble de paramètres suivant.

Une fois la commande terminée, appuyez sur Entrée.

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

La CLI de service fournit également une forme de saisie semi-automatique par tabulation. Lorsque vous commencez à saisir une commande et appuyez sur la touche de tabulation, la CLI complète automatiquement la partie qu'elle peut prédire. S'il reste plusieurs valeurs possibles, vous devez ajouter au moins une lettre de plus et appuyer à nouveau sur la touche de tabulation. Les exemples suivants illustrent la façon dont l'interface de ligne de commande remplit les onglets.

  • Fin de l'onglet avec une correspondance possible

    PCA-ADMIN> list Com<Tab>
    PCA-ADMIN> list ComputeNode
  • Saisie semi-automatique par tabulation avec plusieurs correspondances possibles

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

Commandes de base et personnalisées

Lorsque vous entrez la commande help ou que vous saisissez le point d'interrogation ("?") à l'invite PCA-ADMIN>, l'interface de ligne de commande renvoie des informations sur ses commandes de base, telles que create, edit, add, remove, delete, list, show, etc. Cependant, il existe un autre ensemble de commandes personnalisées moins couramment utilisées. Vous pouvez tous les afficher sous la forme d'une liste unique ou uniquement celles disponibles pour un type d'objet particulier. Vous pouvez utiliser "?" pour parcourir les commandes.

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