Esempio n. 1
0
    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)
Esempio n. 2
0
    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'])
Esempio n. 3
0
# 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
Esempio n. 4
0
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 '
Esempio n. 5
0
#
#         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):