Utilisation de l'interface de ligne de commande du service

L'interface de ligne de commande de Private Cloud Appliance Service Enclave, que nous appelons l'interface de ligne de commande du service dans la documentation, est disponible au moyen de l'interpréteur de commandes 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 du service et à plusieurs opérations supplémentaires qui n'ont pas d'équivalent. Cette rubrique fournit des directives générales pour l'utilisation de l'interface de ligne de commande du service. Les commandes réelles et leurs fonctions sont documentées dans toute la zone administrateur de la documentation, dans le cadre d'instructions étape par étape.

Note

L'interface de ligne de commande accepte uniquement les caractères de la table ASCII 7 bits contenant des lettres, des chiffres et d'autres caractères. Tous ne sont pas valides pour tous les champs, 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 à l'interface de ligne de commande

Pour accéder à l'interface de ligne de commande du 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 de la grappe de gestion (de préférence) :

    $ ssh admin@admin.pca_hostname.example.com -p 30006
    Password authentication
    PCA-ADMIN>
  • Se connecter à 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 et fermé où vous effectuez des opérations d'administration en entrant des commandes à l'invite PCA-ADMIN>.

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

Syntaxe de la commande

En général, les commandes entrées dans l'interface de ligne de commande du 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 le processus cible affecté par la commande, par exemple : list ComputeNode ou create Tenant.

  • attributes sont des propriétés utilisées 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 comme "type=value". Les listes sont entrées sous la forme d'une série de valeurs séparées par des virgules (par exemple, fields ipAddress,name,rackElevation,serialNumber,firmwareVersion).

Aide et achèvement des commandes

L'interface de ligne de commande du 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 bases de l'interface de ligne de commande.

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 d'apprendre quelles commandes et quels types d'objet sont disponibles consiste à utiliser le point d'interrogation ("?"). Après vous être connecté, vous commencez par entrer "?" à l'invite de l'interface de ligne de commande, afin d'afficher le jeu de commandes de base.

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

Vous pouvez forer dans les commandes, les types d'objet et d'autres éléments en ajoutant "?" pour voir les paramètres disponibles à cette position de curseur.

Note

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

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

Supposons ensuite que vous souhaitiez rechercher les noeuds de calcul qui n'ont pas encore été provisionnés. Pour ce faire, vous pouvez afficher une liste de noeuds de calcul filtrés en fonction de leur état de provisionnement. "?" vous permet de naviguer dans les paramètres de commande, comme illustré ci-dessous.

Chaque fois que vous tapez "?", 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 ramener la partie de la commande que vous avez déjà tapée à l'invite, puis ajoutez la partie suivante de votre commande, et tapez à nouveau "?" pour afficher le jeu de paramètres suivant.

Lorsque votre commande est 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

L'interface de ligne de commande du service fournit également une forme de saisie semi-automatique. Lorsque vous commencez à taper une commande et appuyez sur la touche Tab, l'interface de ligne de commande complète automatiquement la partie qu'elle peut prédire. S'il reste plus d'une valeur possible, vous devez ajouter au moins une lettre et appuyer à nouveau sur la touche de tabulation. Les exemples suivants illustrent comment l'interface de ligne de commande effectue l'achèvement des onglets.

  • Achèvement de l'onglet avec une correspondance possible

    PCA-ADMIN> list Com<Tab>
    PCA-ADMIN> list ComputeNode
  • Achèvement de l'onglet 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 entrez le point d'interrogation ("?") à l'invite PCA-ADMIN>, l'interface de ligne de commande retourne des informations sur ses commandes de base, telles que create, edit, add, remove, delete, list, show, etc. Toutefois, il existe un autre jeu de commandes personnalisées moins couramment utilisées. Vous pouvez les afficher toutes sous la forme d'une liste unique ou uniquement pour un type d'objet particulier. Vous pouvez utiliser "?" pour naviguer dans 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