Red Hat Bugzilla – Bug 1400588
[RFE] Hammer commands need means for extending help with additional information
Last modified: 2017-01-26 05:46:42 EST
Describing command options isn't always enough. More complex commands like host create need to add further information about usage. Hammer should allow extending the default help page with additional sections and paragraphs.
Created from redmine issue http://projects.theforeman.org/issues/16408
Upstream bug assigned to tstrachota@redhat.com
Moving this bug to POST for triage into Satellite 6 since the upstream issue http://projects.theforeman.org/issues/16408 has been resolved.
Verified in Satellite 6.2.7 Snap 1 Example of expanded output in hammer command -bash-4.2# hammer host create --help Usage: hammer host create [OPTIONS] Options: --architecture ARCHITECTURE_NAME Architecture name --architecture-id ARCHITECTURE_ID --ask-root-password ASK_ROOT_PW One of true/false, yes/no, 1/0. --autoheal AUTOHEAL Sets whether the Host will autoheal subscriptions upon checkin One of true/false, yes/no, 1/0. --build BUILD One of true/false, yes/no, 1/0. Default: "true" --comment COMMENT Additional information about this host --compute-attributes COMPUTE_ATTRS Compute resource attributes. Comma-separated list of key=value. --compute-profile COMPUTE_PROFILE_NAME Name to search by --compute-profile-id COMPUTE_PROFILE_ID --compute-resource COMPUTE_RESOURCE_NAME Compute resource name --compute-resource-id COMPUTE_RESOURCE_ID --content-view CONTENT_VIEW_NAME Name to search by --content-view-id CONTENT_VIEW_ID content view numeric identifier --domain DOMAIN_NAME Domain name --domain-id DOMAIN_ID Numerical ID or domain name --enabled ENABLED One of true/false, yes/no, 1/0. Default: "true" --environment ENVIRONMENT_NAME Environment name --environment-id ENVIRONMENT_ID --hostgroup HOSTGROUP_NAME Hostgroup name --hostgroup-id HOSTGROUP_ID --hostgroup-title HOSTGROUP_TITLE Hostgroup title --hypervisor-guest-uuids HYPERVISOR_GUEST_UUIDS List of hypervisor guest uuids Comma separated list of values. --image IMAGE_NAME Name to search by --image-id IMAGE_ID --interface INTERFACE Interface parameters. Comma-separated list of key=value. Can be specified multiple times. --ip IP not required if using a subnet with DHCP Capsule --kickstart-repository-id KICKSTART_REPOSITORY_ID Repository Id associated with the kickstart repo used for provisioning --lifecycle-environment LIFECYCLE_ENVIRONMENT_NAME Name to search by --lifecycle-environment-id LIFECYCLE_ENVIRONMENT_ID ID of the environment --location LOCATION_NAME Location name --location-id LOCATION_ID --mac MAC required for managed host that is bare metal, not required if it's a virtual machine --managed MANAGED One of true/false, yes/no, 1/0. Default: "true" --medium MEDIUM_NAME Medium name --medium-id MEDIUM_ID --model MODEL_NAME Model name --model-id MODEL_ID --name NAME --operatingsystem OPERATINGSYSTEM_TITLE Operating system title --operatingsystem-id OPERATINGSYSTEM_ID --organization ORGANIZATION_NAME Organization name --organization-id ORGANIZATION_ID organization ID --overwrite OVERWRITE One of true/false, yes/no, 1/0. Default: "true" --owner OWNER_LOGIN Login of the owner --owner-id OWNER_ID ID of the owner --owner-type OWNER_TYPE Host's owner type Possible value(s): 'User', 'Usergroup' --parameters PARAMS Host parameters. Comma-separated list of key=value. --partition-table PARTITION_TABLE_NAME Partition table name --partition-table-id PARTITION_TABLE_ID --progress-report-id PROGRESS_REPORT_ID UUID to track orchestration tasks status, GET /api/orchestration/:UUID/tasks --provision-method METHOD Possible value(s): 'build', 'image' --puppet-ca-proxy PUPPET_CA_PROXY_NAME --puppet-ca-proxy-id PUPPET_CA_PROXY_ID --puppet-class-ids PUPPET_CLASS_IDS Comma separated list of values. --puppet-classes PUPPET_CLASS_NAMES Comma separated list of values. --puppet-proxy PUPPET_PROXY_NAME --puppet-proxy-id PUPPET_PROXY_ID --realm REALM_NAME Name to search by --realm-id REALM_ID Numerical ID or realm name --release-version RELEASE_VERSION Release version for this Host to use (7Server, 7.1, etc) --root-pass ROOT_PASS required if host is managed and value is not inherited from host group or default password in settings --root-password ROOT_PW --service-level SERVICE_LEVEL Service level to be used for autoheal. --subnet SUBNET_NAME Subnet name --subnet-id SUBNET_ID --volume VOLUME Volume parameters Comma-separated list of key=value. Can be specified multiple times. -h, --help print help Available keys for --interface: mac ip type Possible values: interface, bmc, bond, bridge name subnet_id domain_id identifier managed true/false primary true/false, each managed hosts needs to have one primary interface. provision true/false virtual true/false For virtual=true: tag VLAN tag, this attribute has precedence over the subnet VLAN ID. Only for virtual interfaces. attached_to Identifier of the interface to which this interface belongs, e.g. eth1. For type=bond: mode Possible values: balance-rr, active-backup, balance-xor, broadcast, 802.3ad, balance-tlb, balance-alb attached_devices Identifiers of slave interfaces, e.g. [eth1,eth2] bond_options For type=bmc: provider always IPMI username password Provider specific options: EC2: --compute-attributes: flavor_id image_id availability_zone security_group_ids managed_ip GCE: --compute-attributes: machine_type image_id network external_ip Libvirt: --compute-attributes: cpus Number of CPUs memory String, amount of memory, value in bytes start Boolean, whether to start the machine or not --interface: compute_type Possible values: bridge, network compute_network / compute_bridge Name of interface according to type compute_model Possible values: virtio, rtl8139, ne2k_pci, pcnet, e1000 --volume: pool_name One of available storage pools capacity String value, eg. 10G format_type Possible values: raw, qcow2 OpenStack: --compute-attributes: flavor_ref image_ref tenant_id security_groups network oVirt: flavor_id image_id VMWare: --compute-attributes: cpus Cpu count corespersocket Number of cores per socket (applicable to hardware versions < 10 only) memory_mb Integer number, amount of memory in MB cluster Cluster id from VMware path Path to folder guest_id Guest OS id form VMware scsi_controller_type Id of the controller from VMware hardware_version Hardware version id from VMware start Must be a 1 or 0, whether to start the machine or not --interface: compute_type Type of the network adapter, for example one of: VirtualVmxnet, VirtualVmxnet2, VirtualVmxnet3, VirtualE1000, VirtualE1000e, VirtualPCNet32 See documentation center for your version of vSphere to find more details about available adapter types: https://www.vmware.com/support/pubs/ compute_network Network id from VMware --volume: name datastore Datastore id from VMware size_gb Integer number, volume size in GB thin true/false eager_zero true/false
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHBA-2017:0197