From a683978968aea8a900cde6f6e8a9f57c94edba02 Mon Sep 17 00:00:00 2001
From: chenxing <chen.xing@99cloud.net>
Date: Tue, 4 Jul 2017 08:40:53 +0000
Subject: [PATCH] import content from cli-reference in openstack-manuals

The following commands are provided by the neutron repo,
so the corresponding CLI references are imported here.

- neutron-sanity-check
- neutron-debug

The purpose of this commit is just to import the CLI reference
related to the neutron repo as-is.

Co-Authored-By: Akihiro Motoki <amotoki@gmail.com>
Change-Id: Ib514b3653cff615ee5b14e087fdd5985d7c4285b
---
 doc/source/cli/index.rst                |  12 +
 doc/source/cli/neutron-debug.rst        | 309 ++++++++++++++++++++++++
 doc/source/cli/neutron-sanity-check.rst | 259 ++++++++++++++++++++
 doc/source/index.rst                    |   8 +
 4 files changed, 588 insertions(+)
 create mode 100644 doc/source/cli/index.rst
 create mode 100644 doc/source/cli/neutron-debug.rst
 create mode 100644 doc/source/cli/neutron-sanity-check.rst

diff --git a/doc/source/cli/index.rst b/doc/source/cli/index.rst
new file mode 100644
index 00000000000..8107b3aec95
--- /dev/null
+++ b/doc/source/cli/index.rst
@@ -0,0 +1,12 @@
+================================
+Command-Line Interface Reference
+================================
+
+.. Add links to neutron, OSC and its network plugin command reference
+   once their CLI reference is available in neutronclient repo.
+
+.. toctree::
+   :maxdepth: 1
+
+   neutron-debug
+   neutron-sanity-check
diff --git a/doc/source/cli/neutron-debug.rst b/doc/source/cli/neutron-debug.rst
new file mode 100644
index 00000000000..857682cef16
--- /dev/null
+++ b/doc/source/cli/neutron-debug.rst
@@ -0,0 +1,309 @@
+.. This file is manually generated, unlike many of the other chapters.
+
+=================================
+neutron-debug command-line client
+=================================
+
+The :command:`neutron-debug` client is an extension to the :command:`neutron`
+command-line interface (CLI) for the OpenStack neutron-debug tool.
+
+This chapter documents :command:`neutron-debug` version ``2.3.0``.
+
+For help on a specific :command:`neutron-debug` command, enter:
+
+.. code-block:: console
+
+   $ neutron-debug help COMMAND
+
+.. _neutron-debug_usage:
+
+neutron-debug usage
+~~~~~~~~~~~~~~~~~~~
+
+.. code-block:: console
+
+   usage: neutron-debug [--version] [-v] [-q] [-h] [-r NUM]
+                        [--os-service-type <os-service-type>]
+                        [--os-endpoint-type <os-endpoint-type>]
+                        [--service-type <service-type>]
+                        [--endpoint-type <endpoint-type>]
+                        [--os-auth-strategy <auth-strategy>] [--os-cloud <cloud>]
+                        [--os-auth-url <auth-url>]
+                        [--os-tenant-name <auth-tenant-name> | --os-project-name <auth-project-name>]
+                        [--os-tenant-id <auth-tenant-id> | --os-project-id <auth-project-id>]
+                        [--os-username <auth-username>]
+                        [--os-user-id <auth-user-id>]
+                        [--os-user-domain-id <auth-user-domain-id>]
+                        [--os-user-domain-name <auth-user-domain-name>]
+                        [--os-project-domain-id <auth-project-domain-id>]
+                        [--os-project-domain-name <auth-project-domain-name>]
+                        [--os-cert <certificate>] [--os-cacert <ca-certificate>]
+                        [--os-key <key>] [--os-password <auth-password>]
+                        [--os-region-name <auth-region-name>]
+                        [--os-token <token>] [--http-timeout <seconds>]
+                        [--os-url <url>] [--insecure] [--config-file CONFIG_FILE]
+                        <subcommand> ...
+
+Subcommands
+-----------
+
+``probe-create``
+  Create probe port - create port and interface within a network namespace.
+
+``probe-list``
+  List all probes.
+
+``probe-clear``
+  Clear all probes.
+
+``probe-delete``
+  Delete probe - delete port then delete the namespace.
+
+``probe-exec``
+  Execute commands in the namespace of the probe.
+
+``ping-all``
+  ``ping-all`` is an all-in-one command to ping all fixed IPs in a specified
+  network.
+
+.. _neutron-debug_optional:
+
+neutron-debug optional arguments
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+``--version``
+  Show program's version number and exit
+
+``-v, --verbose, --debug``
+  Increase verbosity of output and show tracebacks on
+  errors. You can repeat this option.
+
+``-q, --quiet``
+  Suppress output except warnings and errors.
+
+``-h, --help``
+  Show this help message and exit
+
+``-r NUM, --retries NUM``
+  How many times the request to the Neutron server
+  should be retried if it fails.
+
+``--os-service-type <os-service-type>``
+  Defaults to env[OS_NETWORK_SERVICE_TYPE] or network.
+
+``--os-endpoint-type <os-endpoint-type>``
+  Defaults to ``env[OS_ENDPOINT_TYPE]`` or public.
+
+``--service-type <service-type>``
+  DEPRECATED! Use --os-service-type.
+
+``--endpoint-type <endpoint-type>``
+  DEPRECATED! Use --os-endpoint-type.
+
+``--os-auth-strategy <auth-strategy>``
+  DEPRECATED! Only keystone is supported.
+
+``os-cloud <cloud>``
+  Defaults to env[OS_CLOUD].
+
+``--os-auth-url <auth-url>``
+  Authentication URL, defaults to env[OS_AUTH_URL].
+
+``--os-tenant-name <auth-tenant-name>``
+  Authentication tenant name, defaults to
+  env[OS_TENANT_NAME].
+
+``--os-project-name <auth-project-name>``
+  Another way to specify tenant name. This option is
+  mutually exclusive with --os-tenant-name. Defaults to
+  env[OS_PROJECT_NAME].
+
+``--os-tenant-id <auth-tenant-id>``
+  Authentication tenant ID, defaults to
+  env[OS_TENANT_ID].
+
+``--os-project-id <auth-project-id>``
+  Another way to specify tenant ID. This option is
+  mutually exclusive with --os-tenant-id. Defaults to
+  env[OS_PROJECT_ID].
+
+``--os-username <auth-username>``
+  Authentication username, defaults to env[OS_USERNAME].
+
+``--os-user-id <auth-user-id>``
+  Authentication user ID (Env: OS_USER_ID)
+
+``--os-user-domain-id <auth-user-domain-id>``
+  OpenStack user domain ID. Defaults to
+  env[OS_USER_DOMAIN_ID].
+
+``--os-user-domain-name <auth-user-domain-name>``
+  OpenStack user domain name. Defaults to
+  env[OS_USER_DOMAIN_NAME].
+
+``--os-project-domain-id <auth-project-domain-id>``
+  Defaults to env[OS_PROJECT_DOMAIN_ID].
+
+``--os-project-domain-name <auth-project-domain-name>``
+  Defaults to env[OS_PROJECT_DOMAIN_NAME].
+
+``--os-cert <certificate>``
+  Path of certificate file to use in SSL connection.
+  This file can optionally be prepended with the private
+  key. Defaults to env[OS_CERT].
+
+``--os-cacert <ca-certificate>``
+  Specify a CA bundle file to use in verifying a TLS
+  (https) server certificate. Defaults to
+  env[OS_CACERT].
+
+``--os-key <key>``
+  Path of client key to use in SSL connection. This
+  option is not necessary if your key is prepended to
+  your certificate file. Defaults to env[OS_KEY].
+
+``--os-password <auth-password>``
+  Authentication password, defaults to env[OS_PASSWORD].
+
+``--os-region-name <auth-region-name>``
+  Authentication region name, defaults to
+  env[OS_REGION_NAME].
+
+``--os-token <token>``
+  Authentication token, defaults to env[OS_TOKEN].
+
+``--http-timeout <seconds>``
+  Timeout in seconds to wait for an HTTP response.
+  Defaults to env[OS_NETWORK_TIMEOUT] or None if not
+  specified.
+
+``--os-url <url>``
+  Defaults to env[OS_URL]
+
+``--insecure``
+  Explicitly allow neutronclient to perform "insecure"
+  SSL (https) requests. The server's certificate will
+  not be verified against any certificate authorities.
+  This option should be used with caution.
+
+``--config-file CONFIG_FILE``
+  Config file for interface driver (You may also use l3_agent.ini)
+
+neutron-debug probe-create command
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+.. code-block:: console
+
+   usage: neutron-debug probe-create NET
+
+Create probe port - create port and interface,
+then place it into the created network namespace.
+
+Positional arguments
+--------------------
+
+``NET ID``
+  ID of the network in which the probe will be created.
+
+neutron-debug probe-list command
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+.. code-block:: console
+
+   usage: neutron-debug probe-list
+
+List probes.
+
+neutron-debug probe-clear command
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+.. code-block:: console
+
+   usage: neutron-debug probe-clear
+
+Clear all probes.
+
+neutron-debug probe-delete command
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+.. code-block:: console
+
+   usage: neutron-debug probe-delete <port-id>
+
+Remove a probe.
+
+Positional arguments
+--------------------
+
+``<port-id>``
+  ID of the probe to delete.
+
+neutron-debug probe-exec command
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+.. code-block:: console
+
+   usage: neutron-debug probe-exec <port-id> <command>
+
+Execute commands in the namespace of the probe
+
+neutron-debug ping-all command
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+.. code-block:: console
+
+   usage: neutron-debug ping-all <port-id> --timeout <number>
+
+All-in-one command to ping all fixed IPs in a specified network.
+A probe creation is not needed for this command.
+A new probe is created automatically.
+It will, however, need to be deleted manually when it is no longer needed.
+When there are multiple networks, the newly created probe will be attached
+to a random network and thus the ping will take place from within that
+random network.
+
+Positional arguments
+--------------------
+
+``<port-id>``
+  ID of the port to use.
+
+Optional arguments
+------------------
+
+``--timeout <timeout in seconds>``
+  Optional ping timeout.
+
+neutron-debug example
+~~~~~~~~~~~~~~~~~~~~~
+
+.. code-block:: console
+
+   usage: neutron-debug create-probe <NET_ID>
+
+Create a probe namespace within the network identified by ``NET_ID``.
+The namespace will have the name of qprobe-<UUID of the probe port>
+
+.. note::
+
+   For the following examples to function, the security group rules
+   may need to be modified to allow the SSH (TCP port 22) or ping
+   (ICMP) traffic into network.
+
+.. code-block:: console
+
+   usage: neutron-debug probe-exec <probe ID> "ssh <IP of instance>"
+
+SSH to an instance within the network.
+
+.. code-block:: console
+
+   usage: neutron-debug ping-all <network ID>
+
+Ping all instances on this network to verify they are responding.
+
+.. code-block:: console
+
+   usage: neutron-debug probe-exec <probe_ID> dhcping <VM_MAC address> -s <IP of DHCP server>
+
+Ping the DHCP server for this network using dhcping to verify it is working.
diff --git a/doc/source/cli/neutron-sanity-check.rst b/doc/source/cli/neutron-sanity-check.rst
new file mode 100644
index 00000000000..858fd316dcf
--- /dev/null
+++ b/doc/source/cli/neutron-sanity-check.rst
@@ -0,0 +1,259 @@
+.. This file is manually generated, unlike many of the other chapters.
+
+========================================
+neutron-sanity-check command-line client
+========================================
+
+The :command:`neutron-sanity-check` client is a tool that checks various
+sanity about the Networking service.
+
+This chapter documents :command:`neutron-sanity-check` version ``10.0.0``.
+
+neutron-sanity-check usage
+~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+.. code-block:: console
+
+   usage: neutron-sanity-check [-h] [--arp_header_match] [--arp_responder]
+                               [--bridge_firewalling] [--config-dir DIR]
+                               [--config-file PATH] [--debug] [--dhcp_release6]
+                               [--dibbler_version] [--dnsmasq_version]
+                               [--ebtables_installed] [--icmpv6_header_match]
+                               [--ip6tables_installed] [--ip_nonlocal_bind]
+                               [--iproute2_vxlan] [--ipset_installed]
+                               [--keepalived_ipv6_support]
+                               [--log-config-append PATH]
+                               [--log-date-format DATE_FORMAT]
+                               [--log-dir LOG_DIR] [--log-file PATH]
+                               [--noarp_header_match] [--noarp_responder]
+                               [--nobridge_firewalling] [--nodebug]
+                               [--nodhcp_release6] [--nodibbler_version]
+                               [--nodnsmasq_version] [--noebtables_installed]
+                               [--noicmpv6_header_match]
+                               [--noip6tables_installed] [--noip_nonlocal_bind]
+                               [--noiproute2_vxlan] [--noipset_installed]
+                               [--nokeepalived_ipv6_support] [--nonova_notify]
+                               [--noovs_conntrack] [--noovs_geneve]
+                               [--noovs_patch] [--noovs_vxlan] [--noovsdb_native]
+                               [--noread_netns] [--nouse-syslog] [--nova_notify]
+                               [--noverbose] [--novf_extended_management]
+                               [--novf_management] [--nowatch-log-file]
+                               [--ovs_conntrack] [--ovs_geneve] [--ovs_patch]
+                               [--ovs_vxlan] [--ovsdb_native] [--read_netns]
+                               [--state_path STATE_PATH]
+                               [--syslog-log-facility SYSLOG_LOG_FACILITY]
+                               [--use-syslog] [--verbose] [--version]
+                               [--vf_extended_management] [--vf_management]
+                               [--watch-log-file]
+
+neutron-sanity-check optional arguments
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+``-h, --help``
+  show this help message and exit
+
+``--arp_header_match``
+  Check for ARP header match support
+
+``--arp_responder``
+  Check for ARP responder support
+
+``--bridge_firewalling``
+  Check bridge firewalling
+
+``--ip_nonlocal_bind``
+  Check ip_nonlocal_bind kernel option works with network namespaces.
+
+``--config-dir DIR``
+  Path to a config directory to pull ``*.conf`` files from.
+  This file set is sorted, so as to provide a predictable parse order
+  if individual options are over-ridden. The set is parsed after the file(s)
+  specified via previous --config-file, arguments hence
+  over-ridden options in the directory take precedence.
+
+``--config-file PATH``
+  Path to a config file to use. Multiple config files can be specified,
+  with values in later files taking precedence. Dafaults to ``None``.
+
+``--debug, -d``
+  Print debugging output (set logging level to ``DEBUG`` instead of default
+  ``INFO`` level).
+
+``--dhcp_release6``
+  Check dhcp_release6 installation
+
+``--dibbler_version``
+  Check minimal dibbler version
+
+``--dnsmasq_version``
+  Check minimal dnsmasq version
+
+``--ebtables_installed``
+  Check ebtables installation
+
+``--icmpv6_header_match``
+  Check for ICMPv6 header match support
+
+``--ip6tables_installed``
+  Check ip6tables installation
+
+``--iproute2_vxlan``
+  Check for iproute2 vxlan support
+
+``--ipset_installed``
+  Check ipset installation
+
+``--keepalived_ipv6_support``
+  Check keepalived IPv6 support
+
+``--log-config-append PATH, --log_config PATH``
+  The name of a logging configuration file. This file is appended to any
+  existing logging configuration files. For details about logging
+  configuration files, see the Python logging module documentation.
+  Note that when logging configuration files are used then all logging
+  configuration is set in the configuration file and other logging
+  configuration options are ignored (for example,
+  ``logging_context_format_string``).
+
+``--log-date-format DATE_FORMAT``
+  Format string for %(asctime)s in log records. Default: None.
+  This option is ignored if ``log_config_append`` is set.
+
+``--log-dir LOG_DIR, --logdir LOG_DIR``
+  (Optional) The base directory used for relative ``log-file`` paths.
+  This option is ignored if ``log_config_append`` is set.
+
+``--log-file PATH, --logfile PATH``
+  (Optional) Name of log file to output to. If no default is set,
+  logging will go to stderr as defined by ``use_stderr``.
+  This option is ignored if ``log_config_append`` is set.
+
+``--noarp_header_match``
+  The inverse of --arp_header_match
+
+``--noarp_responder``
+  The inverse of --arp_responder
+
+``--nobridge_firewalling``
+  The inverse of --bridge_firewalling
+
+``--nodebug``
+  The inverse of --debug
+
+``--nodhcp_release6``
+   The inverse of --dhcp_release6
+
+``--nodibbler_version``
+  The inverse of --dibbler_version
+
+``--nodnsmasq_version``
+  The inverse of --dnsmasq_version
+
+``--noebtables_installed``
+  The inverse of --ebtables_installed
+
+``--noicmpv6_header_match``
+  The inverse of --icmpv6_header_match
+
+``--noip6tables_installed``
+  The inverse of --ip6tables_installed
+
+``--noip_nonlocal_bind``
+  The inverse of --ip_nonlocal_bind
+
+``--noiproute2_vxlan``
+  The inverse of --iproute2_vxlan
+
+``--noipset_installed``
+  The inverse of --ipset_installed
+
+``--nokeepalived_ipv6_support``
+  The inverse of --keepalived_ipv6_support
+
+``--nonova_notify``
+  The inverse of --nova_notify
+
+``--noovs_conntrack``
+  The inverse of --ovs_conntrack
+
+``--noovs_geneve``
+  The inverse of --ovs_geneve
+
+``--noovs_patch``
+  The inverse of --ovs_patch
+
+``--noovs_vxlan``
+  The inverse of --ovs_vxlan
+
+``--noovsdb_native``
+  The inverse of --ovsdb_native
+
+``--noread_netns``
+  The inverse of --read_netns
+
+``--nouse-syslog``
+  The inverse of --use-syslog
+
+``--nova_notify``
+  Check for nova notification support
+
+``--noverbose``
+  The inverse of --verbose
+
+``--novf_extended_management``
+   The inverse of --vf_extended_management
+
+``--novf_management``
+  The inverse of --vf_management
+
+``--nowatch-log-file``
+  The inverse of --watch-log-file
+
+``--ovs_geneve``
+  Check for OVS Geneve support
+
+``--ovs_patch``
+  Check for patch port support
+
+``--ovs_vxlan``
+  Check for OVS vxlan support
+
+``--ovsdb_native``
+  Check ovsdb native interface support
+
+``--read_netns``
+  Check netns permission settings
+
+``--state_path STATE_PATH``
+  Where to store Neutron state files. This directory must be writable
+  by the agent.
+
+``--syslog-log-facility SYSLOG_LOG_FACILITY``
+  Syslog facility to receive log lines.
+  This option is ignored if ``log_config_append`` is set.
+
+``--use-syslog``
+  Use syslog for logging. Existing syslog format is
+  **DEPRECATED** and will be changed later to honor RFC5424.
+  This option is ignored if ``log_config_append`` is set.
+
+``--verbose, -v``
+  If set to ``false``, the logging level will be set to
+  ``WARNING`` instead of the default ``INFO`` level.
+
+``--version``
+  show program's version number and exit
+
+``--vf_extended_management``
+  Check for VF extended management support
+
+``--vf_management``
+  Check for VF management support
+
+``--watch-log-file``
+  Uses logging handler designed to watch file system.
+  When log file is moved or removed this handler will open a new log
+  file with specified path instantaneously. It makes sense only if
+  ``log_file`` option is specified and Linux platform is used.
+  This option is ignored if ``log_config_append`` is set.
+
diff --git a/doc/source/index.rst b/doc/source/index.rst
index 55181f7f3f2..66ef669750c 100644
--- a/doc/source/index.rst
+++ b/doc/source/index.rst
@@ -55,6 +55,14 @@ Networking Guide
 
    admin/index
 
+CLI Reference
+-------------
+
+.. toctree::
+   :maxdepth: 2
+
+   cli/index
+
 Neutron Feature Classification
 ------------------------------