Exemplo n.º 1
0
 def run(self):
     server = agent_utils.UnixDomainWSGIServer(
                  constants.AGENT_PROCESS_METADATA)
     # Set the default metadata_workers if not yet set in the config file
     md_workers = self.conf.metadata_workers
     if md_workers is None:
         md_workers = host.cpu_count() // 2
     server.start(MetadataProxyHandler(self.conf),
                  self.conf.metadata_proxy_socket,
                  workers=md_workers,
                  backlog=self.conf.metadata_backlog,
                  mode=self._get_socket_mode())
     self._init_state_reporting()
     server.wait()
Exemplo n.º 2
0
def cpu_count():
    return host.cpu_count()
Exemplo n.º 3
0
GROUP_MODE = 'group'
ALL_MODE = 'all'
SOCKET_MODES = (DEDUCE_MODE, USER_MODE, GROUP_MODE, ALL_MODE)


UNIX_DOMAIN_METADATA_PROXY_OPTS = [
    cfg.StrOpt('metadata_proxy_socket_mode',
               default=DEDUCE_MODE,
               choices=SOCKET_MODES,
               help=_("Metadata Proxy UNIX domain socket mode, 4 values "
                      "allowed: "
                      "'deduce': deduce mode from metadata_proxy_user/group "
                      "values, "
                      "'user': set metadata proxy socket mode to 0o644, to "
                      "use when metadata_proxy_user is agent effective user "
                      "or root, "
                      "'group': set metadata proxy socket mode to 0o664, to "
                      "use when metadata_proxy_group is agent effective "
                      "group or root, "
                      "'all': set metadata proxy socket mode to 0o666, to use "
                      "otherwise.")),
    cfg.IntOpt('metadata_workers',
               default=host.cpu_count() // 2,
               help=_('Number of separate worker processes for metadata '
                      'server (defaults to half of the number of CPUs)')),
    cfg.IntOpt('metadata_backlog',
               default=4096,
               help=_('Number of backlog requests to configure the '
                      'metadata server socket with'))
]
Exemplo n.º 4
0
UNIX_DOMAIN_METADATA_PROXY_OPTS = [
    cfg.StrOpt('metadata_proxy_socket_mode',
               default=DEDUCE_MODE,
               choices=SOCKET_MODES,
               help=_("Metadata Proxy UNIX domain socket mode, 4 values "
                      "allowed: "
                      "'deduce': deduce mode from metadata_proxy_user/group "
                      "values, "
                      "'user': set metadata proxy socket mode to 0o644, to "
                      "use when metadata_proxy_user is agent effective user "
                      "or root, "
                      "'group': set metadata proxy socket mode to 0o664, to "
                      "use when metadata_proxy_group is agent effective "
                      "group or root, "
                      "'all': set metadata proxy socket mode to 0o666, to use "
                      "otherwise.")),
    cfg.IntOpt('metadata_workers',
               default=host.cpu_count() // 2,
               help=_('Number of separate worker processes for metadata '
                      'server (defaults to half of the number of CPUs)')),
    cfg.IntOpt('metadata_backlog',
               default=4096,
               help=_('Number of backlog requests to configure the '
                      'metadata server socket with'))
]


def register_meta_conf_opts(opts, cfg=cfg.CONF):
    cfg.register_opts(opts)
Exemplo n.º 5
0
def cpu_count():
    return host.cpu_count()
Exemplo n.º 6
0
 cfg.StrOpt('ha_confs_path',
            default='$state_path/ha_confs',
            help=_('Location to store keepalived/conntrackd '
                   'config files')),
 cfg.StrOpt('ha_vrrp_auth_type',
            default='PASS',
            choices=keepalived.VALID_AUTH_TYPES,
            help=_('VRRP authentication type')),
 cfg.StrOpt('ha_vrrp_auth_password',
            help=_('VRRP authentication password'),
            secret=True),
 cfg.IntOpt('ha_vrrp_advert_int',
            default=2,
            help=_('The advertisement interval in seconds')),
 cfg.IntOpt('ha_keepalived_state_change_server_threads',
            default=(1 + host.cpu_count()) // 2,
            sample_default='(1 + <num_of_cpus>) / 2',
            min=1,
            help=_('Number of concurrent threads for '
                   'keepalived server connection requests. '
                   'More threads create a higher CPU load '
                   'on the agent node.')),
 cfg.IntOpt('ha_vrrp_health_check_interval',
            default=0,
            help=_('The VRRP health check interval in seconds. Values > 0 '
                   'enable VRRP health checks. Setting it to 0 disables '
                   'VRRP health checks. Recommended value is 5. '
                   'This will cause pings to be sent to the gateway '
                   'IP address(es) - requires ICMP_ECHO_REQUEST '
                   'to be enabled on the gateway. '
                   'If gateway fails, all routers will be reported '
Exemplo n.º 7
0

OPTS = [
    cfg.StrOpt('ha_confs_path',
               default='$state_path/ha_confs',
               help=_('Location to store keepalived/conntrackd '
                      'config files')),
    cfg.StrOpt('ha_vrrp_auth_type',
               default='PASS',
               choices=keepalived.VALID_AUTH_TYPES,
               help=_('VRRP authentication type')),
    cfg.StrOpt('ha_vrrp_auth_password',
               help=_('VRRP authentication password'),
               secret=True),
    cfg.IntOpt('ha_vrrp_advert_int',
               default=2,
               help=_('The advertisement interval in seconds')),
    cfg.IntOpt('ha_keepalived_state_change_server_threads',
               default=(1 + host.cpu_count()) // 2,
               sample_default='(1 + <num_of_cpus>) / 2',
               min=1,
               help=_('Number of concurrent threads for '
                      'keepalived server connection requests. '
                      'More threads create a higher CPU load '
                      'on the agent node.')),
]


def register_l3_agent_ha_opts(cfg=cfg.CONF):
    cfg.register_opts(OPTS)
Exemplo n.º 8
0
 def test_cpu_count_not_implemented(self, mock_cpu_count):
     self.assertEqual(1, host.cpu_count())
     mock_cpu_count.assert_called_once_with()
Exemplo n.º 9
0
 def test_cpu_count(self, mock_cpu_count):
     self.assertEqual(7, host.cpu_count())
     mock_cpu_count.assert_called_once_with()
Exemplo n.º 10
0
 def test_cpu_count_not_implemented(self, mock_cpu_count):
     self.assertEqual(1, host.cpu_count())
     mock_cpu_count.assert_called_once_with()
Exemplo n.º 11
0
 def test_cpu_count(self, mock_cpu_count):
     self.assertEqual(7, host.cpu_count())
     mock_cpu_count.assert_called_once_with()