
from oslo_config import cfg

influxdb_opts = [
    cfg.StrOpt('database_name',
               help='database name where metrics are stored',
               default='mon'),
    cfg.IPOpt('ip_address',
              help='ip address to influxdb'),
    cfg.PortOpt('port',
                help='port to influxdb',
                default=8086),
    cfg.StrOpt('user',
               help='influxdb user ',
               default='mon_persister'),
    cfg.StrOpt('password',
               secret=True,
               help='influxdb password')]

influxdb_group = cfg.OptGroup(name='influxdb',
                              title='influxdb')


def register_opts(conf):
    conf.register_group(influxdb_group)
    conf.register_opts(influxdb_opts, influxdb_group)


def list_opts():
    return influxdb_group, influxdb_opts


from oslo_config import cfg

influxdb_opts = [
    cfg.StrOpt('database_name',
               help='database name where metrics are stored',
               default='mon'),
    cfg.HostAddressOpt('ip_address',
                       help='Valid IP address or hostname '
                            'to InfluxDB instance'),
    cfg.PortOpt('port',
                help='port to influxdb',
                default=8086),
    cfg.StrOpt('user',
               help='influxdb user ',
               default='mon_persister'),
    cfg.StrOpt('password',
               secret=True,
               help='influxdb password')]

influxdb_group = cfg.OptGroup(name='influxdb',
                              title='influxdb')


def register_opts(conf):
    conf.register_group(influxdb_group)
    conf.register_opts(influxdb_opts, influxdb_group)


def list_opts():
    return influxdb_group, influxdb_opts

Allow hostnames to be used as ip_address
Allow hostnames to be used as ip_address

Previously introduced change for monasca-persister
had enforced the IPAddress as the only type one can
configure influxdb.ip_address property with.

Following change makes it possible to use also hostname.
Using IPAdress is still possible.

Change-Id: Ib0d7f19b3ac2dcb7c84923872d94f180cda58b2b

  
  from oslo_config import cfg
  
  influxdb_opts = [
      cfg.StrOpt('database_name',
                 help='database name where metrics are stored',
                 default='mon'),
-     cfg.IPOpt('ip_address',
+     cfg.HostAddressOpt('ip_address',
-               help='ip address to influxdb'),
+                        help='Valid IP address or hostname '
+                             'to InfluxDB instance'),
      cfg.PortOpt('port',
                  help='port to influxdb',
                  default=8086),
      cfg.StrOpt('user',
                 help='influxdb user ',
                 default='mon_persister'),
      cfg.StrOpt('password',
                 secret=True,
                 help='influxdb password')]
  
  influxdb_group = cfg.OptGroup(name='influxdb',
                                title='influxdb')
  
  
  def register_opts(conf):
      conf.register_group(influxdb_group)
      conf.register_opts(influxdb_opts, influxdb_group)
  
  
  def list_opts():
      return influxdb_group, influxdb_opts
  
Allow hostnames to be used as ip_address
## Code Before:

from oslo_config import cfg

influxdb_opts = [
    cfg.StrOpt('database_name',
               help='database name where metrics are stored',
               default='mon'),
    cfg.IPOpt('ip_address',
              help='ip address to influxdb'),
    cfg.PortOpt('port',
                help='port to influxdb',
                default=8086),
    cfg.StrOpt('user',
               help='influxdb user ',
               default='mon_persister'),
    cfg.StrOpt('password',
               secret=True,
               help='influxdb password')]

influxdb_group = cfg.OptGroup(name='influxdb',
                              title='influxdb')


def register_opts(conf):
    conf.register_group(influxdb_group)
    conf.register_opts(influxdb_opts, influxdb_group)


def list_opts():
    return influxdb_group, influxdb_opts

## Instruction:
Allow hostnames to be used as ip_address
## Code After:

from oslo_config import cfg

influxdb_opts = [
    cfg.StrOpt('database_name',
               help='database name where metrics are stored',
               default='mon'),
    cfg.HostAddressOpt('ip_address',
                       help='Valid IP address or hostname '
                            'to InfluxDB instance'),
    cfg.PortOpt('port',
                help='port to influxdb',
                default=8086),
    cfg.StrOpt('user',
               help='influxdb user ',
               default='mon_persister'),
    cfg.StrOpt('password',
               secret=True,
               help='influxdb password')]

influxdb_group = cfg.OptGroup(name='influxdb',
                              title='influxdb')


def register_opts(conf):
    conf.register_group(influxdb_group)
    conf.register_opts(influxdb_opts, influxdb_group)


def list_opts():
    return influxdb_group, influxdb_opts
