
from oslo_config import cfg

from magnum.i18n import _

service_opts = [
    cfg.StrOpt('host',
               help=_('Name of this node. This can be an opaque identifier. '
                      'It is not necessarily a hostname, FQDN, or IP address. '
                      'However, the node name must be valid within '
                      'an AMQP key, and if using ZeroMQ, a valid '
                      'hostname, FQDN, or IP address.')),
]


def register_opts(conf):
    conf.register_opts(service_opts)


def list_opts():
    return {
        "DEFAULT": service_opts
    }


from oslo_config import cfg

from magnum.i18n import _

service_opts = [
    cfg.HostAddressOpt('host',
                       help=_('Name of this node. This can be an opaque '
                              'identifier. It is not necessarily a hostname, '
                              'FQDN, or IP address. However, the node name '
                              'must be valid within an AMQP key, and if using '
                              'ZeroMQ, a valid hostname, FQDN, or IP '
                              'address.')),
]


def register_opts(conf):
    conf.register_opts(service_opts)


def list_opts():
    return {
        "DEFAULT": service_opts
    }

Use HostAddressOpt for opts that accept IP and hostnames
Use HostAddressOpt for opts that accept IP and hostnames

Some configuration options were accepting both IP addresses
and hostnames. Since there was no specific OSLO opt type to
support this, we were using ``StrOpt``. The change [1] that
added support for ``HostAddressOpt`` type was merged in Ocata
and became available for use with oslo version 3.22.

This patch changes the opt type of configuration options to use
this more relevant opt type - HostAddressOpt.

[1] I77bdb64b7e6e56ce761d76696bc4448a9bd325eb

Change-Id: Id179ad55d4344a7dc2214896290890862b560e0c

  
  from oslo_config import cfg
  
  from magnum.i18n import _
  
  service_opts = [
-     cfg.StrOpt('host',
+     cfg.HostAddressOpt('host',
-                help=_('Name of this node. This can be an opaque identifier. '
+                        help=_('Name of this node. This can be an opaque '
-                       'It is not necessarily a hostname, FQDN, or IP address. '
-                       'However, the node name must be valid within '
-                       'an AMQP key, and if using ZeroMQ, a valid '
-                       'hostname, FQDN, or IP address.')),
+                               'identifier. It is not necessarily a hostname, '
+                               'FQDN, or IP address. However, the node name '
+                               'must be valid within an AMQP key, and if using '
+                               'ZeroMQ, a valid hostname, FQDN, or IP '
+                               'address.')),
  ]
  
  
  def register_opts(conf):
      conf.register_opts(service_opts)
  
  
  def list_opts():
      return {
          "DEFAULT": service_opts
      }
  
Use HostAddressOpt for opts that accept IP and hostnames
## Code Before:

from oslo_config import cfg

from magnum.i18n import _

service_opts = [
    cfg.StrOpt('host',
               help=_('Name of this node. This can be an opaque identifier. '
                      'It is not necessarily a hostname, FQDN, or IP address. '
                      'However, the node name must be valid within '
                      'an AMQP key, and if using ZeroMQ, a valid '
                      'hostname, FQDN, or IP address.')),
]


def register_opts(conf):
    conf.register_opts(service_opts)


def list_opts():
    return {
        "DEFAULT": service_opts
    }

## Instruction:
Use HostAddressOpt for opts that accept IP and hostnames
## Code After:

from oslo_config import cfg

from magnum.i18n import _

service_opts = [
    cfg.HostAddressOpt('host',
                       help=_('Name of this node. This can be an opaque '
                              'identifier. It is not necessarily a hostname, '
                              'FQDN, or IP address. However, the node name '
                              'must be valid within an AMQP key, and if using '
                              'ZeroMQ, a valid hostname, FQDN, or IP '
                              'address.')),
]


def register_opts(conf):
    conf.register_opts(service_opts)


def list_opts():
    return {
        "DEFAULT": service_opts
    }
