def test_flagfile(self): flags.DEFINE_string('string', 'default', 'desc', flag_values=self.FLAGS) flags.DEFINE_integer('int', 1, 'desc', flag_values=self.FLAGS) flags.DEFINE_bool('false', False, 'desc', flag_values=self.FLAGS) flags.DEFINE_bool('true', True, 'desc', flag_values=self.FLAGS) flags.DEFINE_multistring('multi', ['blaa'], 'desc', flag_values=self.FLAGS) (fd, path) = tempfile.mkstemp(prefix='nova', suffix='.flags') try: os.write(fd, '--string=foo\n--int=2\n--false\n--notrue\n') os.write(fd, '--multi=foo\n--multi=bar\n') os.close(fd) self.FLAGS(['flags_test', '--flagfile=' + path]) self.assertEqual(self.FLAGS.string, 'foo') self.assertEqual(self.FLAGS.int, 2) self.assertEqual(self.FLAGS.false, True) self.assertEqual(self.FLAGS.true, False) self.assertEqual(self.FLAGS.multi, ['foo', 'bar']) # Re-parse to test multistring isn't append multiple times self.FLAGS(['flags_test', '--flagfile=' + path]) self.assertEqual(self.FLAGS.multi, ['foo', 'bar']) finally: os.remove(path)
def test_define_multistring(self): flags.DEFINE_multistring('multi', ['blaa'], 'desc', flag_values=self.FLAGS) self.assert_(self.FLAGS['multi']) self.assertEqual(self.FLAGS.multi, ['blaa']) argv = ['flags_test', '--multi', 'foo', '--multi', 'bar'] self.FLAGS(argv) self.assertEqual(self.FLAGS.multi, ['foo', 'bar']) # Re-parse to test multistring isn't append multiple times self.FLAGS(argv + ['--unknown1', '--unknown2']) self.assertEqual(self.FLAGS.multi, ['foo', 'bar'])
# NOTE(yamahata): DEFINE_list() doesn't work because the command may # include ','. For example, # mkfs.ext3 -O dir_index,extent -E stride=8,stripe-width=16 # --label %(fs_label)s %(target)s # # DEFINE_list() parses its argument by # [s.strip() for s in argument.split(self._token)] # where self._token = ',' # No escape nor exceptional handling for ','. # DEFINE_list() doesn't give us what we need. flags.DEFINE_multistring( 'virt_mkfs', [ 'windows=mkfs.ntfs --fast --label %(fs_label)s ' '%(target)s', # NOTE(yamahata): vfat case #'windows=mkfs.vfat -n %(fs_label)s %(target)s', 'linux=mkfs.ext3 -L %(fs_label)s -F %(target)s', 'default=mkfs.ext3 -L %(fs_label)s -F %(target)s' ], 'mkfs commands for ephemeral device. The format is' '<os_type>=<mkfs command>') _MKFS_COMMAND = {} _DEFAULT_MKFS_COMMAND = None for s in FLAGS.virt_mkfs: # NOTE(yamahata): mkfs command may includes '=' for its options. # So item.partition('=') doesn't work here os_type, mkfs_command = s.split('=', 1) if os_type: _MKFS_COMMAND[os_type] = mkfs_command
LOG = logging.getLogger("nova.network.manager") flags.DEFINE_string('ldap_dns_url', 'ldap://ldap.example.com:389', 'URL for ldap server which will store dns entries') flags.DEFINE_string('ldap_dns_user', 'uid=admin,ou=people,dc=example,dc=org', 'user for ldap DNS') flags.DEFINE_string('ldap_dns_password', 'password', 'password for ldap DNS') flags.DEFINE_string('ldap_dns_soa_hostmaster', '*****@*****.**', 'Hostmaster for ldap dns driver Statement of Authority') flags.DEFINE_multistring('ldap_dns_servers', '[dns.example.org]', 'DNS Servers for ldap dns driver') flags.DEFINE_string('ldap_dns_base_dn', 'ou=hosts,dc=example,dc=org', 'Base DN for DNS entries in ldap') flags.DEFINE_string('ldap_dns_soa_refresh', '1800', 'Refresh interval (in seconds) for ldap dns driver ' 'Statement of Authority') flags.DEFINE_string('ldap_dns_soa_retry', '3600', 'Retry interval (in seconds) for ldap dns driver ' 'Statement of Authority') flags.DEFINE_string('ldap_dns_soa_expiry', '86400', 'Expiry interval (in seconds) for ldap dns driver '
# # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. from nova import flags from nova import log as logging from nova import utils from nova.exception import ClassNotFound flags.DEFINE_multistring('list_notifier_drivers', ['nova.notifier.no_op_notifier'], 'List of drivers to send notifications') FLAGS = flags.FLAGS LOG = logging.getLogger('nova.notifier.list_notifier') drivers = None class ImportFailureNotifier(object): """Noisily re-raises some exception over-and-over when notify is called.""" def __init__(self, exception): self.exception = exception def notify(self, message):