diff --git a/cli-client-new/pvc/cli/cli.py b/cli-client-new/pvc/cli/cli.py index b9f303a6..c08f30c4 100644 --- a/cli-client-new/pvc/cli/cli.py +++ b/cli-client-new/pvc/cli/cli.py @@ -310,7 +310,12 @@ def testing(vm, restart_flag, format_function): ############################################################################### -# pvc cluster +# Click command definitions +############################################################################### + + +############################################################################### +# > pvc cluster ############################################################################### @click.group( name="cluster", @@ -325,7 +330,7 @@ def cli_cluster(): ############################################################################### -# pvc cluster status +# > pvc cluster status ############################################################################### @click.command( name="status", @@ -359,7 +364,7 @@ def cli_cluster_status( ############################################################################### -# pvc cluster init +# > pvc cluster init ############################################################################### @click.command( name="init", @@ -397,7 +402,7 @@ def cli_cluster_init( ############################################################################### -# pvc cluster backup +# > pvc cluster backup ############################################################################### @click.command( name="backup", @@ -429,7 +434,7 @@ def cli_cluster_backup( ############################################################################### -# pvc cluster restore +# > pvc cluster restore ############################################################################### @click.command( name="restore", @@ -463,7 +468,7 @@ def cli_cluster_restore( ############################################################################### -# pvc cluster maintenance +# > pvc cluster maintenance ############################################################################### @click.group( name="maintenance", @@ -478,7 +483,7 @@ def cli_cluster_maintenance(): ############################################################################### -# pvc cluster maintenance on +# > pvc cluster maintenance on ############################################################################### @click.command( name="on", @@ -495,7 +500,7 @@ def cli_cluster_maintenance_on(): ############################################################################### -# pvc cluster maintenance off +# > pvc cluster maintenance off ############################################################################### @click.command( name="off", @@ -512,7 +517,7 @@ def cli_cluster_maintenance_off(): ############################################################################### -# pvc node +# > pvc node ############################################################################### @click.group( name="node", @@ -527,7 +532,7 @@ def cli_node(): ############################################################################### -# pvc node primary +# > pvc node primary ############################################################################### @click.command( name="primary", @@ -577,7 +582,7 @@ NOTE: There are currently {len(tasks_retdata)} active or queued provisioner task ############################################################################### -# pvc node secondary +# > pvc node secondary ############################################################################### @click.command( name="secondary", @@ -629,7 +634,7 @@ NOTE: There are currently {len(tasks_retdata)} active or queued provisioner task ############################################################################### -# pvc node flush +# > pvc node flush ############################################################################### @click.command( name="flush", @@ -667,7 +672,7 @@ def cli_node_flush( ############################################################################### -# pvc node ready +# > pvc node ready ############################################################################### @click.command( name="ready", @@ -705,7 +710,7 @@ def cli_node_ready( ############################################################################### -# pvc node log +# > pvc node log ############################################################################### @click.command( name="log", @@ -767,7 +772,7 @@ def cli_node_log( ############################################################################### -# pvc node info +# > pvc node info ############################################################################### @click.command( name="info", @@ -803,7 +808,7 @@ def cli_node_info( ############################################################################### -# pvc node list +# > pvc node list ############################################################################### @click.command( name="list", @@ -869,52 +874,937 @@ def cli_node_list( ############################################################################### -# pvc +# > pvc vm +############################################################################### +@click.group( + name="vm", + short_help="Manage PVC VMs.", + context_settings=CONTEXT_SETTINGS, +) +def cli_vm(): + """ + Manage and view the status of VMs in a PVC cluster. + """ + pass + + +############################################################################### +# > pvc vm define ############################################################################### ############################################################################### -# pvc +# > pvc vm meta ############################################################################### ############################################################################### -# pvc +# > pvc vm modify ############################################################################### ############################################################################### -# pvc +# > pvc vm rename ############################################################################### ############################################################################### -# pvc +# > pvc vm undefine ############################################################################### ############################################################################### -# pvc +# > pvc vm remove ############################################################################### ############################################################################### -# pvc +# > pvc vm start ############################################################################### ############################################################################### -# pvc +# > pvc vm restart ############################################################################### ############################################################################### -# pvc +# > pvc vm shutdown ############################################################################### ############################################################################### -# pvc connection +# > pvc vm stop +############################################################################### + + +############################################################################### +# > pvc vm disable +############################################################################### + + +############################################################################### +# > pvc vm move +############################################################################### + + +############################################################################### +# > pvc vm migrate +############################################################################### + + +############################################################################### +# > pvc vm unmigrate +############################################################################### + + +############################################################################### +# > pvc vm flush-locks +############################################################################### + + +############################################################################### +# > pvc vm tag +############################################################################### +@click.group( + name="tag", + short_help="Manage tags for PVC VMs.", + context_settings=CONTEXT_SETTINGS, +) +def cli_vm_tag(): + """ + Manage and view the tags of VMs in a PVC cluster. + """ + pass + + +############################################################################### +# > pvc vm tag get +############################################################################### + + +############################################################################### +# > pvc vm tag add +############################################################################### + + +############################################################################### +# > pvc vm tag remove +############################################################################### + + +############################################################################### +# > pvc vm vcpu +############################################################################### +@click.group( + name="vcpu", + short_help="Manage vCPUs for PVC VMs.", + context_settings=CONTEXT_SETTINGS, +) +def cli_vm_vcpu(): + """ + Manage and view the vCPUs of VMs in a PVC cluster. + """ + pass + + +############################################################################### +# > pvc vm vcpu get +############################################################################### + + +############################################################################### +# > pvc vm vcpu set +############################################################################### + + +############################################################################### +# > pvc vm memory +############################################################################### +@click.group( + name="memory", + short_help="Manage memory for PVC VMs.", + context_settings=CONTEXT_SETTINGS, +) +def cli_vm_memory(): + """ + Manage and view the memory of VMs in a PVC cluster. + """ + pass + + +############################################################################### +# > pvc vm memory get +############################################################################### + + +############################################################################### +# > pvc vm memory set +############################################################################### + + +############################################################################### +# > pvc vm network +############################################################################### +@click.group( + name="network", + short_help="Manage networks for PVC VMs.", + context_settings=CONTEXT_SETTINGS, +) +def cli_vm_network(): + """ + Manage and view the networks of VMs in a PVC cluster. + """ + pass + + +############################################################################### +# > pvc vm network get +############################################################################### + + +############################################################################### +# > pvc vm network add +############################################################################### + + +############################################################################### +# > pvc vm network remove +############################################################################### + + +############################################################################### +# > pvc vm volume +############################################################################### +@click.group( + name="volume", + short_help="Manage volumes for PVC VMs.", + context_settings=CONTEXT_SETTINGS, +) +def cli_vm_volume(): + """ + Manage and view the volumes of VMs in a PVC cluster. + """ + pass + + +############################################################################### +# > pvc vm volume get +############################################################################### + + +############################################################################### +# > pvc vm volume add +############################################################################### + + +############################################################################### +# > pvc vm volume remove +############################################################################### + + +############################################################################### +# > pvc vm log +############################################################################### + + +############################################################################### +# > pvc vm dump +############################################################################### + + +############################################################################### +# > pvc vm info +############################################################################### + + +############################################################################### +# > pvc vm list +############################################################################### + + +############################################################################### +# > pvc network +############################################################################### +@click.group( + name="network", + short_help="Manage PVC networks.", + context_settings=CONTEXT_SETTINGS, +) +def cli_network(): + """ + Manage and view the networks in a PVC cluster. + """ + pass + + +############################################################################### +# > pvc network add +############################################################################### + + +############################################################################### +# > pvc network modify +############################################################################### + + +############################################################################### +# > pvc network remove +############################################################################### + + +############################################################################### +# > pvc network info +############################################################################### + + +############################################################################### +# > pvc network list +############################################################################### + + +############################################################################### +# > pvc network dhcp +############################################################################### + + +############################################################################### +# > pvc network dhcp add +############################################################################### + + +############################################################################### +# > pvc network dhcp remove +############################################################################### + + +############################################################################### +# > pvc network dhcp list +############################################################################### + + +############################################################################### +# > pvc network acl +############################################################################### + + +############################################################################### +# > pvc network acl add +############################################################################### + + +############################################################################### +# > pvc network acl remove +############################################################################### + + +############################################################################### +# > pvc network acl list +############################################################################### + + +############################################################################### +# > pvc network sriov +############################################################################### + + +############################################################################### +# > pvc network sriov pf +############################################################################### + + +############################################################################### +# > pvc network sriov pf list +############################################################################### + + +############################################################################### +# > pvc network sriov vf +############################################################################### + + +############################################################################### +# > pvc network sriov vf set +############################################################################### + + +############################################################################### +# > pvc network sriov vf info +############################################################################### + + +############################################################################### +# > pvc network sriov vf list +############################################################################### + + +############################################################################### +# > pvc storage +############################################################################### +@click.group( + name="storage", + short_help="Manage PVC storage.", + context_settings=CONTEXT_SETTINGS, +) +def cli_storage(): + """ + Manage and view the storage system in a PVC cluster. + """ + pass + + +############################################################################### +# > pvc storage status +############################################################################### + + +############################################################################### +# > pvc storage util +############################################################################### + + +############################################################################### +# > pvc storage benchmark +############################################################################### + + +############################################################################### +# > pvc storage benchmark run +############################################################################### + + +############################################################################### +# > pvc storage benchmark info +############################################################################### + + +############################################################################### +# > pvc storage benchmark list +############################################################################### + + +############################################################################### +# > pvc storage osd +############################################################################### + + +############################################################################### +# > pvc storage osd create-db-vg +############################################################################### + + +############################################################################### +# > pvc storage osd add +############################################################################### + + +############################################################################### +# > pvc storage osd replace +############################################################################### + + +############################################################################### +# > pvc storage osd refresh +############################################################################### + + +############################################################################### +# > pvc storage osd remove +############################################################################### + + +############################################################################### +# > pvc storage osd in +############################################################################### + + +############################################################################### +# > pvc storage osd out +############################################################################### + + +############################################################################### +# > pvc storage osd set +############################################################################### + + +############################################################################### +# > pvc storage osd unset +############################################################################### + + +############################################################################### +# > pvc storage ods info +############################################################################### + + +############################################################################### +# > pvc storage osd list +############################################################################### + + +############################################################################### +# > pvc storage pool +############################################################################### + + +############################################################################### +# > pvc storage pool add +############################################################################### + + +############################################################################### +# > pvc storage pool remove +############################################################################### + + +############################################################################### +# > pvc storage pool set-pgs +############################################################################### + + +############################################################################### +# > pvc storage pool info +############################################################################### + + +############################################################################### +# > pvc storage pool list +############################################################################### + + +############################################################################### +# > pvc storage volume +############################################################################### + + +############################################################################### +# > pvc storage volume add +############################################################################### + + +############################################################################### +# > pvc storage volume upload +############################################################################### + + +############################################################################### +# > pvc storage volume remove +############################################################################### + + +############################################################################### +# > pvc storage volume resize +############################################################################### + + +############################################################################### +# > pvc storage volume rename +############################################################################### + + +############################################################################### +# > pvc storage volume clone +############################################################################### + + +############################################################################### +# > pvc storage volume info +############################################################################### + + +############################################################################### +# > pvc storage volume list +############################################################################### + + +############################################################################### +# > pvc storage volume snapshot +############################################################################### + + +############################################################################### +# > pvc storage volume snapshot add +############################################################################### + + +############################################################################### +# > pvc storage volume snapshot rename +############################################################################### + + +############################################################################### +# > pvc storage volume snapshot remove +############################################################################### + + +############################################################################### +# > pvc storage volume snapshot list +############################################################################### + + +############################################################################### +# > pvc provisioner +############################################################################### +@click.group( + name="provisioner", + short_help="Manage PVC provisioners.", + context_settings=CONTEXT_SETTINGS, +) +def cli_provisioner(): + """ + Manage and view the provisioner for a PVC cluster. + """ + pass + + +############################################################################### +# > pvc provisioner template +############################################################################### + + +############################################################################### +# > pvc provisioner template system +############################################################################### + + +############################################################################### +# > pvc provisioner template system add +############################################################################### + + +############################################################################### +# > pvc provisioner template system modify +############################################################################### + + +############################################################################### +# > pvc provisioner template system remove +############################################################################### + + +############################################################################### +# > pvc provisioner template system list +############################################################################### + + +############################################################################### +# > pvc provisioner template network +############################################################################### + + +############################################################################### +# > pvc provisioner template network add +############################################################################### + + +############################################################################### +# > pvc provisioner template network modify +############################################################################### + + +############################################################################### +# > pvc provisioner template network remove +############################################################################### + + +############################################################################### +# > pvc provisioner template network list +############################################################################### + + +############################################################################### +# > pvc provisioner template network vni +############################################################################### + + +############################################################################### +# > pvc provisioner template network vni add +############################################################################### + + +############################################################################### +# > pvc provisioner template network vni remove +############################################################################### + + +############################################################################### +# > pvc provisioner template storage +############################################################################### + + +############################################################################### +# > pvc provisioner template storage add +############################################################################### + + +############################################################################### +# > pvc provisioner template storage modify +############################################################################### + + +############################################################################### +# > pvc provisioner template storage remove +############################################################################### + + +############################################################################### +# > pvc provisioner template storage list +############################################################################### + + +############################################################################### +# > pvc provisioner template storage disk +############################################################################### + + +############################################################################### +# > pvc provisioner template storage disk add +############################################################################### + + +############################################################################### +# > pvc provisioner template storage disk remove +############################################################################### + + +############################################################################### +# > pvc provisioner userdata +############################################################################### + + +############################################################################### +# > pvc provisioner userdata add +############################################################################### + + +############################################################################### +# > pvc provisioner userdata modify +############################################################################### + + +############################################################################### +# > pvc provisioner userdata remove +############################################################################### + + +############################################################################### +# > pvc provisioner userdata dump (was show) +############################################################################### + + +############################################################################### +# > pvc provisioner userdata list +############################################################################### + + +############################################################################### +# > pvc provisioner script +############################################################################### + + +############################################################################### +# > pvc provisioner script add +############################################################################### + + +############################################################################### +# > pvc provisioner script modify +############################################################################### + + +############################################################################### +# > pvc provisioner script remove +############################################################################### + + +############################################################################### +# > pvc provisioner script dump (was show) +############################################################################### + + +############################################################################### +# > pvc provisioner script list +############################################################################### + + +############################################################################### +# > pvc provisioner ova +############################################################################### + + +############################################################################### +# > pvc provisioner ova add (was upload) +############################################################################### + + +############################################################################### +# > pvc provisioner ova remove +############################################################################### + + +############################################################################### +# > pvc provisioner ova info +############################################################################### + + +############################################################################### +# > pvc provisioner ova list +############################################################################### + + +############################################################################### +# > pvc provisioner profile +############################################################################### + + +############################################################################### +# > pvc provisioner profile add +############################################################################### + + +############################################################################### +# > pvc provisioner profile modify +############################################################################### + + +############################################################################### +# > pvc provisioner profile remove +############################################################################### + + +############################################################################### +# > pvc provisioner create +############################################################################### + + +############################################################################### +# > pvc provisioner status +############################################################################### + + +############################################################################### +# > pvc +############################################################################### + + +############################################################################### +# > pvc +############################################################################### + + +############################################################################### +# > pvc +############################################################################### + + +############################################################################### +# > pvc +############################################################################### + + +############################################################################### +# > pvc +############################################################################### + + +############################################################################### +# > pvc +############################################################################### + + +############################################################################### +# > pvc +############################################################################### + + +############################################################################### +# > pvc +############################################################################### + + +############################################################################### +# > pvc +############################################################################### + + +############################################################################### +# > pvc +############################################################################### + + +############################################################################### +# > pvc +############################################################################### + + +############################################################################### +# > pvc +############################################################################### + + +############################################################################### +# > pvc +############################################################################### + + +############################################################################### +# > pvc +############################################################################### + + +############################################################################### +# > pvc +############################################################################### + + +############################################################################### +# > pvc +############################################################################### + + +############################################################################### +# > pvc +############################################################################### + + +############################################################################### +# > pvc +############################################################################### + + +############################################################################### +# > pvc +############################################################################### + + +############################################################################### +# > pvc +############################################################################### + + +############################################################################### +# > pvc +############################################################################### + + +############################################################################### +# > pvc +############################################################################### + + +############################################################################### +# > pvc +############################################################################### + + +############################################################################### +# > pvc +############################################################################### + + +############################################################################### +# > pvc connection ############################################################################### @click.group( name="connection", @@ -929,7 +1819,7 @@ def cli_connection(): ############################################################################### -# pvc connection add +# > pvc connection add ############################################################################### @click.command( name="add", @@ -1015,7 +1905,7 @@ def cli_connection_add( ############################################################################### -# pvc connection remove +# > pvc connection remove ############################################################################### @click.command( name="remove", @@ -1045,7 +1935,7 @@ def cli_connection_remove( ############################################################################### -# pvc connection list +# > pvc connection list ############################################################################### @click.command( name="list", @@ -1088,7 +1978,7 @@ def cli_connection_list( ############################################################################### -# pvc connection detail +# > pvc connection detail ############################################################################### @click.command( name="detail", @@ -1128,7 +2018,7 @@ def cli_connection_detail( ############################################################################### -# pvc +# > pvc ############################################################################### @click.group(context_settings=CONTEXT_SETTINGS) @click.option( @@ -1256,6 +2146,10 @@ cli_node.add_command(cli_node_log) cli_node.add_command(cli_node_info) cli_node.add_command(cli_node_list) cli.add_command(cli_node) +cli.add_command(cli_vm) +cli.add_command(cli_network) +cli.add_command(cli_storage) +cli.add_command(cli_provisioner) cli_cluster.add_command(cli_cluster_status) cli_cluster.add_command(cli_cluster_init) cli_cluster.add_command(cli_cluster_backup) diff --git a/cli-client-new/pvc/cli/parsers.py b/cli-client-new/pvc/cli/parsers.py index 7ea16987..4e3fb69f 100644 --- a/cli-client-new/pvc/cli/parsers.py +++ b/cli-client-new/pvc/cli/parsers.py @@ -41,14 +41,8 @@ def cli_connection_list_parser(connections_config, show_keys_flag): details.get("cfgfile") ) else: - description, address, port, scheme, api_key = ( - None, - None, - None, - None, - None, - ) - if not show_keys_flag: + continue + if not show_keys_flag and api_key is not None: api_key = sub(r"[a-z0-9]", "x", api_key) connections_data.append( { @@ -83,14 +77,16 @@ def cli_connection_detail_parser(connections_config): """ connections_data = list() for connection, details in connections_config.items(): - cluster_config = get_config(connections_config, cluster=connection) + cluster_config = get_config(connections_config, connection=connection) + if cluster_config.get("badcfg", False): + continue # Connect to each API and gather cluster status retcode, retdata = pvc.lib.cluster.get_info(cluster_config) if retcode == 0: # Create dummy data of N/A for all fields connections_data.append( { - "name": cluster_config["cluster"], + "name": cluster_config["connection"], "description": cluster_config["description"], "health": "N/A", "maintenance": "N/A", @@ -109,7 +105,7 @@ def cli_connection_detail_parser(connections_config): # Normalize data into nice formattable version connections_data.append( { - "name": cluster_config["cluster"], + "name": cluster_config["connection"], "description": cluster_config["description"], "health": retdata.get("cluster_health", {}).get("health", "N/A"), "maintenance": retdata.get("maintenance", "N/A"),