Provided by: nova-common_21.2.4-0ubuntu2.14_all bug

NAME

       nova-manage - Cloud controller fabric

CONTROL AND MANAGE CLOUD COMPUTER INSTANCES

       Author openstack@lists.openstack.org

       Copyright
              OpenStack Foundation

       Manual section
              1

       Manual group
              cloud computing

   Synopsis
          nova-manage <category> <action> [<args>]

   Description
       nova-manage controls cloud computing instances by managing various admin-only aspects of Nova.

       The standard pattern for executing a nova-manage command is:

          nova-manage <category> <command> [<args>]

       Run without arguments to see a list of available command categories:

          nova-manage

       You can also run with a category argument such as db to see a list of all commands in that category:

          nova-manage db

       These sections describe the available categories and arguments for nova-manage.

   Options
       These  options  apply to all commands and may be given in any order, before or after commands. Individual
       commands may provide additional options. Options without an argument can be combined after a single dash.

       -h, --help
              Show a help message and exit

       --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.  This option must be set from the command-line.

       --config-file PATH
              Path  to  a config file to use. Multiple config files can be specified, with values in later files
              taking precedence. Defaults to None. This option must be set from the command-line.

       --debug, -d
              If set to true, the logging level will be set to DEBUG instead of the default INFO level.

       --log-config-append PATH, --log-config 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,
              --log-date-format).

       --log-date-format DATE_FORMAT
              Defines the 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 send logging 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.

       --nodebug
              The inverse of --debug.

       --nopost-mortem
              The inverse of --post-mortem.

       --nouse-journal
              The inverse of --use-journal.

       --nouse-json
              The inverse of --use-json.

       --nouse-syslog
              The inverse of --use-syslog.

       --nowatch-log-file
              The inverse of --watch-log-file.

       --post-mortem
              Allow post-mortem debugging

       --syslog-log-facility SYSLOG_LOG_FACILITY
              Syslog facility to receive log lines. This option is ignored if --log-config-append is set.

       --use-journal
              Enable  journald  for  logging. If running in a systemd environment you may wish to enable journal
              support.  Doing so will use the journal native protocol  which  includes  structured  metadata  in
              addition to log messages. This option is ignored if --log-config-append is set.

       --use-json
              Use JSON formatting for logging. 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.

       --version
              Show program's version number and exit

       --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.

   Commands
   Nova Database
       nova-manage db version
              Print the current main database version.

       nova-manage db sync [--local_cell] [VERSION]
              Upgrade  the  main  database  schema  up  to  the  most recent version or VERSION if specified. By
              default, this command will also attempt to upgrade the schema for the  cell0  database  if  it  is
              mapped  (see  the  map_cell0  or  simple_cell_setup commands for more details on mapping the cell0
              database). If --local_cell is specified, then only the  main  database  in  the  current  cell  is
              upgraded.  The local database connection is determined by database.connection in the configuration
              file, passed to nova-manage using the --config-file option(s). This command should  be  run  after
              nova-manage api_db sync.

              Returns  exit  code  0  if  the  database  schema was synced successfully, or 1 if cell0 cannot be
              accessed.

       nova-manage  db  archive_deleted_rows  [--max_rows  <number>]  [--verbose]  [--until-complete]  [--before
       <date>] [--purge] [--all-cells]
              Move deleted rows from production tables to shadow tables. Note that the corresponding rows in the
              instance_mappings, request_specs and instance_group_member tables of the API database  are  purged
              when  instance  records  are  archived and thus, api_database.connection is required in the config
              file. Specifying --verbose will print the results of the archive operation  for  any  tables  that
              were changed. Specifying --until-complete will make the command run continuously until all deleted
              rows are archived.  Use the --max_rows option, which defaults to 1000, as a batch  size  for  each
              iteration  (note  that the purged API database table records are not included in this batch size).
              Specifying --before will archive only instances that were deleted before the  date  provided,  and
              records  in other tables related to those instances. Specifying --purge will cause a full DB purge
              to be completed after archival. If a date range is desired for the purge, then run nova-manage  db
              purge  --before <date> manually after archiving is complete. Specifying --all-cells will cause the
              process to run against all cell databases.

              Return Codes

                                    ┌────────────┬───────────────────────────────────────┐
                                    │Return code │ Description                           │
                                    ├────────────┼───────────────────────────────────────┤
                                    │0           │ Nothing was archived.                 │
                                    ├────────────┼───────────────────────────────────────┤
                                    │1           │ Some number of rows were archived.    │
                                    ├────────────┼───────────────────────────────────────┤
                                    │2           │ Invalid value for --max_rows.         │
                                    ├────────────┼───────────────────────────────────────┤
                                    │3           │ No connection  to  the  API  database │
                                    │            │ could     be     established    using │
                                    │            │ api_database.connection.              │
                                    ├────────────┼───────────────────────────────────────┤
                                    │4           │ Invalid value for --before.           │
                                    ├────────────┼───────────────────────────────────────┤
                                    │255         │ An unexpected error occurred.         │
                                    └────────────┴───────────────────────────────────────┘

              If automating, this should be run continuously while the result is 1, stopping at 0,  or  use  the
              --until-complete option.

       nova-manage db purge [--all] [--before <date>] [--verbose] [--all-cells]
              Delete  rows  from  shadow  tables.  Specifying --all will delete all data from all shadow tables.
              Specifying --before will delete data from all shadow tables that is older than the date  provided.
              Specifying  --verbose  will  cause  information  to  be  printed  about purged records. Specifying
              --all-cells will cause the purge to be applied against all cell  databases.   For  --all-cells  to
              work, the api database connection information must be configured. Returns exit code 0 if rows were
              deleted, 1 if required arguments are not provided, 2 if an invalid date is provided, 3 if no  data
              was deleted, 4 if the list of cells cannot be obtained.

       nova-manage db null_instance_uuid_scan [--delete]
              Lists and optionally deletes database records where instance_uuid is NULL.

       nova-manage db online_data_migrations [--max-count]
              Perform data migration to update all live data.

              --max-count  controls  the maximum number of objects to migrate in a given call. If not specified,
              migration will occur in batches of 50 until fully complete.

              Returns exit code 0 if no (further) updates are possible, 1 if the --max-count option was used and
              some  updates  were  completed  successfully  (even if others generated errors), 2 if some updates
              generated errors and no other migrations were able to take effect in the last batch attempted,  or
              127 if invalid input is provided (e.g.  non-numeric max-count).

              This  command should be called after upgrading database schema and nova services on all controller
              nodes. If it exits with partial updates (exit status 1) it should be called again,  even  if  some
              updates initially generated errors, because some updates may depend on others having completed. If
              it exits with status 2, intervention is required to resolve the issue causing remaining updates to
              fail. It should be considered successfully completed only when the exit status is 0.

              For example:

                 $ nova-manage db online_data_migrations
                 Running batches of 50 until complete
                 2 rows matched query migrate_instances_add_request_spec, 0 migrated
                 2 rows matched query populate_queued_for_delete, 2 migrated
                 +---------------------------------------------+--------------+-----------+
                 |                  Migration                  | Total Needed | Completed |
                 +---------------------------------------------+--------------+-----------+
                 |         create_incomplete_consumers         |      0       |     0     |
                 |      migrate_instances_add_request_spec     |      2       |     0     |
                 |       migrate_quota_classes_to_api_db       |      0       |     0     |
                 |        migrate_quota_limits_to_api_db       |      0       |     0     |
                 |          migration_migrate_to_uuid          |      0       |     0     |
                 |     populate_missing_availability_zones     |      0       |     0     |
                 |          populate_queued_for_delete         |      2       |     2     |
                 |                populate_uuids               |      0       |     0     |
                 +---------------------------------------------+--------------+-----------+

              In the above example, the migrate_instances_add_request_spec migration found two candidate records
              but did not need to perform any kind of data migration for either of them.  In  the  case  of  the
              populate_queued_for_delete  migration,  two  candidate records were found which did require a data
              migration. Since --max-count defaults to 50 and only  two  records  were  migrated  with  no  more
              candidates remaining, the command completed successfully with exit code 0.

       nova-manage db ironic_flavor_migration [--all] [--host] [--node] [--resource_class]
              Perform  the ironic flavor migration process against the database while services are offline. This
              is not recommended for most people. The ironic compute driver will do this online and as necessary
              if  run normally. This routine is provided only for advanced users that may be skipping the 16.0.0
              Pike release, never able to run services normally at the Pike level. Since this utility is for use
              when  all  services  (including  ironic)  are  down,  you must pass the resource class set on your
              node(s) with the --resource_class parameter.

              To migrate a specific host and node, provide the hostname and  node  uuid  with  --host  $hostname
              --node  $uuid. To migrate all instances on nodes managed by a single host, provide only --host. To
              iterate over all nodes in the system in a single pass, use --all. Note that this  process  is  not
              lightweight,  so  it  should not be run frequently without cause, although it is not harmful to do
              so. If you have multiple cellsv2 cells, you should run this once per cell with  the  corresponding
              cell config for each (i.e. this does not iterate cells automatically).

              Note that this is not recommended unless you need to run this specific data migration offline, and
              it should be used with care as the work done is non-trivial. Running  smaller  and  more  targeted
              batches (such as specific nodes) is recommended.

       --before <date>
              The  date  argument  accepted  by  the --before option can be in any of several formats, including
              YYYY-MM-DD [HH:mm[:ss]] and the default format produced by the  date  command,  e.g.  Fri  May  24
              09:20:11 CDT 2019.  Date strings containing spaces must be quoted appropriately. Some examples:

                 # Purge shadow table rows older than a specific date
                 nova-manage db purge --before 2015-10-21
                 # or
                 nova-manage db purge --before "Oct 21 2015"
                 # Times are also accepted
                 nova-manage db purge --before "2015-10-21 12:00"

              Note  that relative dates (such as yesterday) are not supported natively.  The date command can be
              helpful here:

                 # Archive deleted rows more than one month old
                 nova-manage db archive_deleted_rows --before "$(date -d 'now - 1 month')"

   Nova API Database
       nova-manage api_db version
              Print the current API database version.

       nova-manage api_db sync [VERSION]
              Upgrade the API database schema up to the most  recent  version  or  VERSION  if  specified.  This
              command  does  not  create  the  API  database, it runs schema migration scripts. The API database
              connection  is  determined  by  api_database.connection  in  the  configuration  file  passed   to
              nova-manage.

              In the 18.0.0 Rocky or 19.0.0 Stein release, this command will also upgrade the optional placement
              database if [placement_database]/connection is configured.

              Returns exit code 0 if the database schema was synced successfully. This  command  should  be  run
              before nova-manage db sync.

   Nova Cells v2
       nova-manage cell_v2 simple_cell_setup [--transport-url <transport_url>]
              Setup  a  fresh  cells  v2  environment.  If a transport_url is not specified, it will use the one
              defined by transport_url in the configuration file. Returns  0  if  setup  is  completed  (or  has
              already  been done), 1 if no hosts are reporting (and cannot be mapped) and 1 if the transport url
              is missing or invalid.

       nova-manage cell_v2 map_cell0 [--database_connection <database_connection>]
              Create a cell mapping to the database connection for the cell0 database.  If a database_connection
              is  not  specified,  it  will use the one defined by database.connection in the configuration file
              passed to nova-manage. The cell0 database is used for instances that have not  been  scheduled  to
              any cell. This generally applies to instances that have encountered an error before they have been
              scheduled. Returns 0 if cell0 is created successfully or already setup.

       nova-manage cell_v2 map_instances --cell_uuid <cell_uuid> [--max-count <max_count>] [--reset]
              Map instances to the provided cell. Instances in the nova database will be queried from oldest  to
              newest  and mapped to the provided cell. A --max-count can be set on the number of instance to map
              in a single run.  Repeated runs of the command will start from where the last run finished  so  it
              is  not  necessary  to  increase  --max-count to finish. A --reset option can be passed which will
              reset the marker, thus making the command start from the  beginning  as  opposed  to  the  default
              behavior of starting from where the last run finished.

              If --max-count is not specified, all instances in the cell will be mapped in batches of 50. If you
              have a large number of instances, consider specifying a custom value and run the command until  it
              exits with 0.

              Return Codes

                                    ┌────────────┬───────────────────────────────────────┐
                                    │Return code │ Description                           │
                                    ├────────────┼───────────────────────────────────────┤
                                    │0           │ All instances have been mapped.       │
                                    ├────────────┼───────────────────────────────────────┤
                                    │1           │ There   are  still  instances  to  be │
                                    │            │ mapped.                               │
                                    ├────────────┼───────────────────────────────────────┤
                                    │127         │ Invalid value for --max-count.        │
                                    ├────────────┼───────────────────────────────────────┤
                                    │255         │ An unexpected error occurred.         │
                                    └────────────┴───────────────────────────────────────┘

       nova-manage cell_v2 map_cell_and_hosts [--name <cell_name>] [--transport-url <transport_url>] [--verbose]
              Create a cell mapping to the database connection and message queue transport url, and map hosts to
              that cell. The database connection comes from the database.connection defined in the configuration
              file passed to nova-manage. If a transport_url is not specified, it will use the  one  defined  by
              transport_url  in  the configuration file. This command is idempotent (can be run multiple times),
              and the verbose option will print out the resulting cell mapping uuid.  Returns  0  on  successful
              completion, and 1 if the transport url is missing or invalid.

       nova-manage cell_v2 verify_instance --uuid <instance_uuid> [--quiet]
              Verify instance mapping to a cell. This command is useful to determine if the cells v2 environment
              is properly setup, specifically in terms of the cell, host, and instance mapping records required.
              Returns 0 when the instance is successfully mapped to a cell, 1 if the instance is not mapped to a
              cell (see the map_instances command), 2 if the cell mapping is missing (see the map_cell_and_hosts
              command  if  you  are  upgrading from a cells v1 environment, and the simple_cell_setup if you are
              upgrading from a non-cells v1 environment), 3 if it is  a  deleted  instance  which  has  instance
              mapping, and 4 if it is an archived instance which still has an instance mapping.

       nova-manage     cell_v2    create_cell    [--name    <cell_name>]    [--transport-url    <transport_url>]
       [--database_connection <database_connection>] [--verbose] [--disabled]
              Create a cell  mapping  to  the  database  connection  and  message  queue  transport  url.  If  a
              database_connection  is  not  specified, it will use the one defined by database.connection in the
              configuration file passed to nova-manage. If a transport_url is not specified, it will use the one
              defined  by  transport_url  in  the  configuration  file.  The  verbose  option will print out the
              resulting cell mapping uuid. All the cells created are by default  enabled.  However  passing  the
              --disabled  option can create a pre-disabled cell, meaning no scheduling will happen to this cell.
              The meaning of the various exit codes returned by this command are explained below:

              • Returns 0 if the cell mapping was successfully created.

              • Returns 1 if the transport url or database connection was missing or invalid.

              • Returns 2 if another cell is  already  using  that  transport  url  and/or  database  connection
                combination.

       nova-manage cell_v2 discover_hosts [--cell_uuid <cell_uuid>] [--verbose] [--strict] [--by-service]
              Searches  cells,  or a single cell, and maps found hosts. This command will check the database for
              each cell (or a single one if passed in) and map any hosts which are not currently  mapped.  If  a
              host  is already mapped, nothing will be done. You need to re-run this command each time you add a
              batch of compute hosts to a cell (otherwise the scheduler will never place instances there and the
              API  will  not list the new hosts). If --strict is specified, the command will only return 0 if an
              unmapped host was discovered and mapped successfully. If --by-service is specified,  this  command
              will  look  in  the  appropriate  cell(s)  for any nova-compute services and ensure there are host
              mappings for them. This is less efficient and is only necessary when using  compute  drivers  that
              may manage zero or more actual compute nodes at any given time (currently only ironic).

              This  command  should be run once after all compute hosts have been deployed and should not be run
              in parallel. When run in parallel, the commands will collide with each other  trying  to  map  the
              same hosts in the database at the same time.

              The meaning of the various exit codes returned by this command are explained below:

              • Returns  0  if  hosts  were  successfully mapped or no hosts needed to be mapped. If --strict is
                specified, returns 0 only if an unmapped host was discovered and mapped.

              • Returns 1 if --strict is specified and no unmapped hosts were  found.   Also  returns  1  if  an
                exception was raised while running.

              • Returns  2  if  the  command  aborted  because of a duplicate host mapping found. This means the
                command collided with another running discover_hosts command or scheduler periodic task  and  is
                safe to retry.

       nova-manage cell_v2 list_cells [--verbose]
              By  default  the  cell  name,  uuid,  disabled state, masked transport URL and database connection
              details are shown. Use the --verbose option to see transport  URL  and  database  connection  with
              their sensitive details.

       nova-manage cell_v2 delete_cell [--force] --cell_uuid <cell_uuid>
              Delete  a cell by the given uuid. Returns 0 if the empty cell is found and deleted successfully or
              the cell that has hosts is found and  the  cell,  hosts  and  the  instance_mappings  are  deleted
              successfully with --force option (this happens if there are no living instances), 1 if a cell with
              that uuid could not be found, 2 if host mappings were found for the cell (cell not empty)  without
              --force  option,  3 if there are instances mapped to the cell (cell not empty) irrespective of the
              --force option, and 4 if there are instance mappings to the  cell  but  all  instances  have  been
              deleted in the cell, again without the --force option.

       nova-manage cell_v2 list_hosts [--cell_uuid <cell_uuid>]
              Lists  the  hosts  in  one  or  all v2 cells. By default hosts in all v2 cells are listed. Use the
              --cell_uuid option to list hosts in a specific cell.  If the cell  is  not  found  by  uuid,  this
              command will return an exit code of 1. Otherwise, the exit code will be 0.

       nova-manage   cell_v2   update_cell   --cell_uuid   <cell_uuid>   [--name  <cell_name>]  [--transport-url
       <transport_url>] [--database_connection <database_connection>] [--disable] [--enable]
              Updates the properties of a cell by the given uuid. If a database_connection is not specified,  it
              will  attempt  to  use  the  one  defined  by  database.connection in the configuration file. If a
              transport_url is not specified, it will attempt to use the one defined  by  transport_url  in  the
              configuration  file.  The meaning of the various exit codes returned by this command are explained
              below:

              • If successful, it will return 0.

              • If the cell is not found by the provided uuid, it will return 1.

              • If the properties cannot be set, it will return 2.

              • If the provided transport_url or/and database_connection is/are same as another  cell,  it  will
                return 3.

              • If an attempt is made to disable and enable a cell at the same time, it will return 4.

              • If an attempt is made to disable or enable cell0 it will return 5.

              NOTE:
                 Updating the transport_url or database_connection fields on a running system will NOT result in
                 all nodes immediately using the new values.  Use caution when changing these values.

                 The scheduler will not notice that a cell has been enabled/disabled until it  is  restarted  or
                 sent the SIGHUP signal.

       nova-manage cell_v2 delete_host --cell_uuid <cell_uuid> --host <host>
              Delete a host by the given host name and the given cell uuid. Returns 0 if the empty host is found
              and deleted successfully, 1 if a cell with that uuid could not be found, 2 if  a  host  with  that
              name  could  not be found, 3 if a host with that name is not in a cell with that uuid, 4 if a host
              with that name has instances (host not empty).

              NOTE:
                 The scheduler caches host-to-cell mapping information so when deleting a host the scheduler may
                 need to be restarted or sent the SIGHUP signal.

   Placement
       nova-manage  placement  heal_allocations  [--max-count <max_count>] [--verbose] [--skip-port-allocations]
       [--dry-run] [--instance <instance_uuid>] [--cell <cell_uuid]
              Iterates over non-cell0 cells looking for instances which do not have allocations in the Placement
              service and which are not undergoing a task state transition. For each instance found, allocations
              are created against the compute node resource provider for  that  instance  based  on  the  flavor
              associated with the instance.

              Also  if  the  instance  has  any port attached that has resource request (e.g. Quality of Service
              (QoS): Guaranteed Bandwidth) but the corresponding allocation is not found then the allocation  is
              created  against  the  network device resource providers according to the resource request of that
              port. It is possible that the missing allocation cannot be created either due to not having enough
              resource  inventory on the host the instance resides on or because more than one resource provider
              could fulfill the request. In this case the instance needs to be  manually  deleted  or  the  port
              needs  to  be  detached.   When nova supports migrating instances with guaranteed bandwidth ports,
              migration will heal missing allocations for these instances.

              Before the allocations for the ports are persisted in placement nova-manage tries to  update  each
              port  in neutron to refer to the resource provider UUID which provides the requested resources. If
              any of the port updates fail in neutron or the allocation update fails in  placement  the  command
              tries to roll back the partial updates to the ports. If the roll back fails then the process stops
              with exit code 7 and the admin needs to do the rollback  in  neutron  manually  according  to  the
              description in the exit code section.

              There  is  also  a  special  case  handled  for  instances that do have allocations created before
              Placement API microversion 1.8 where project_id and user_id values were required. For those  types
              of allocations, the project_id and user_id are updated using the values from the instance.

              Specify  --max-count  to control the maximum number of instances to process. If not specified, all
              instances in each cell will be mapped in batches of 50. If you have a large number  of  instances,
              consider specifying a custom value and run the command until it exits with 0 or 4.

              Specify --verbose to get detailed progress output during execution.

              Specify  --dry-run to print output but not commit any changes. The return code should be 4. (Since
              20.0.0 Train)

              Specify --instance to process a specific instance given its UUID.  If  specified  the  --max-count
              option has no effect.  (Since 20.0.0 Train)

              Specify  --skip-port-allocations  to  skip the healing of the resource allocations of bound ports,
              e.g. healing bandwidth resource allocation for ports having minimum QoS policy rules attached.  If
              your  deployment does not use such a feature then the performance impact of querying neutron ports
              for each instance can be avoided with this flag.  (Since 20.0.0 Train)

              Specify --cell to  process heal allocations within a specific cell.  This  is  mutually  exclusive
              with the --instance option.

              This  command  requires  that  the api_database.connection and placement configuration options are
              set. Placement API >= 1.28 is required.

              Return Codes

               ┌────────────┬──────────────────────────────────────────────────────────────────────────────────┐
               │Return code │ Description                                                                      │
               ├────────────┼──────────────────────────────────────────────────────────────────────────────────┤
               │0           │ Command  completed  successfully  and                                            │
               │            │ allocations were created.                                                        │
               ├────────────┼──────────────────────────────────────────────────────────────────────────────────┤
               │1           │ --max-count was reached and there are                                            │
               │            │ more instances to process.                                                       │
               ├────────────┼──────────────────────────────────────────────────────────────────────────────────┤
               │2           │ Unable to find a compute node  record                                            │
               │            │ for a given instance.                                                            │
               ├────────────┼──────────────────────────────────────────────────────────────────────────────────┤
               │3           │ Unable    to   create   (or   update)                                            │
               │            │ allocations for an  instance  against                                            │
               │            │ its compute node resource provider.                                              │
               ├────────────┼──────────────────────────────────────────────────────────────────────────────────┤
               │4           │ Command completed successfully but no                                            │
               │            │ allocations were created.                                                        │
               ├────────────┼──────────────────────────────────────────────────────────────────────────────────┤
               │5           │ Unable to query ports from neutron                                               │
               ├────────────┼──────────────────────────────────────────────────────────────────────────────────┤
               │6           │ Unable to update ports in neutron                                                │
               └────────────┴──────────────────────────────────────────────────────────────────────────────────┘

               │7           │ Cannot   roll   back   neutron   port                                            │
               │            │ updates.  Manual  steps  needed.  The                                            │
               │            │ error  message  will  indicate  which                                            │
               │            │ neutron  ports  need to be changed to                                            │
               │            │ clean up binding:profile of the port:                                            │
               │            │                                                                                  │
               │            │                  $ openstack port unset <port_uuid> --binding-profile allocation │
               ├────────────┼──────────────────────────────────────────────────────────────────────────────────┤
               │127         │ Invalid input.                                                                   │
               ├────────────┼──────────────────────────────────────────────────────────────────────────────────┤
               │255         │ An unexpected error occurred.                                                    │
               └────────────┴──────────────────────────────────────────────────────────────────────────────────┘

       nova-manage placement sync_aggregates [--verbose]
              Mirrors compute host aggregates to resource provider aggregates in the Placement service. Requires
              the api_database and placement sections of the nova configuration file to be populated.

              Specify --verbose to get detailed progress output during execution.

              NOTE:
                 Depending  on  the  size of your deployment and the number of compute hosts in aggregates, this
                 command could cause a non-negligible amount of traffic to the placement service  and  therefore
                 is recommended to be run during maintenance windows.

              New in version Rocky.

              Return Codes

                                    ┌────────────┬───────────────────────────────────────┐
                                    │Return code │ Description                           │
                                    ├────────────┼───────────────────────────────────────┤
                                    │0           │ Successful run                        │
                                    ├────────────┼───────────────────────────────────────┤
                                    │1           │ A  host  was found with more than one │
                                    │            │ matching compute node record          │
                                    ├────────────┼───────────────────────────────────────┤
                                    │2           │ An unexpected  error  occurred  while │
                                    │            │ working with the placement API        │
                                    ├────────────┼───────────────────────────────────────┤
                                    │3           │ Failed  updating  provider aggregates │
                                    │            │ in placement                          │
                                    ├────────────┼───────────────────────────────────────┤
                                    │4           │ Host mappings not found  for  one  or │
                                    │            │ more host aggregate members           │
                                    ├────────────┼───────────────────────────────────────┤
                                    │5           │ Compute  node  records  not found for │
                                    │            │ one or more hosts                     │
                                    ├────────────┼───────────────────────────────────────┤
                                    │6           │ Resource provider not found  by  uuid │
                                    │            │ for a given host                      │
                                    ├────────────┼───────────────────────────────────────┤
                                    │255         │ An unexpected error occurred.         │
                                    └────────────┴───────────────────────────────────────┘

       nova-manage placement audit [--verbose] [--delete] [--resource_provider <uuid>]
              Iterates  over  all the Resource Providers (or just one if you provide the UUID) and then verifies
              if the compute allocations are either related to an existing instance or  a  migration  UUID.   If
              not, it will tell which allocations are orphaned.

              You can also ask to delete all the orphaned allocations by specifying -delete.

              Specify --verbose to get detailed progress output during execution.

              This  command  requires  that  the api_database.connection and placement configuration options are
              set. Placement API >= 1.14 is required.

              Return Codes

                                    ┌────────────┬───────────────────────────────────────┐
                                    │Return code │ Description                           │
                                    ├────────────┼───────────────────────────────────────┤
                                    │0           │ No orphaned allocations were found    │
                                    ├────────────┼───────────────────────────────────────┤
                                    │1           │ An unexpected error occurred          │
                                    ├────────────┼───────────────────────────────────────┤
                                    │3           │ Orphaned allocations were found       │
                                    ├────────────┼───────────────────────────────────────┤
                                    │4           │ All found orphaned  allocations  were │
                                    │            │ deleted                               │
                                    ├────────────┼───────────────────────────────────────┤
                                    │127         │ Invalid input                         │
                                    └────────────┴───────────────────────────────────────┘

   See AlsoOpenStack Nova

   Bugs
       • Nova bugs are managed at Launchpad

AUTHOR

       OpenStack

COPYRIGHT

       2010-present, OpenStack Foundation

                                                  Oct 07, 2024                                    NOVA-MANAGE(1)