def test_subnet_has_non_digits(self):
        validator = arg_validators.Subnet()

        with raises(ArgumentError) as error:
            validator('3.3.3.a/12')
        message = error.value.message
        assert 'have digits separated by dots' in message
    def test_subnet_missing_slash(self):
        validator = arg_validators.Subnet()

        with raises(ArgumentError) as error:
            validator('3.3.3.3')
        message = error.value.message
        assert 'must contain a slash' in message
    def test_subnet_has_less_than_four_numbers(self):
        validator = arg_validators.Subnet()

        with raises(ArgumentError) as error:
            validator('3.3.3/12')
        message = error.value.message
        assert 'at least 4 numbers' in message
Пример #4
0
def make(parser):
    """
    Start deploying a new cluster, and write a CLUSTER.conf and keyring for it.
    """
    parser.add_argument(
        'mon',
        metavar='MON',
        nargs='+',
        help='initial monitor hostname, fqdn, or hostname:fqdn pair',
        type=arg_validators.Hostname(),
        )
    parser.add_argument(
        '--no-ssh-copykey',
        dest='ssh_copykey',
        action='store_false',
        default=True,
        help='do not attempt to copy SSH keys',
    )

    parser.add_argument(
        '--fsid',
        dest='fsid',
        help='provide an alternate FSID for ceph.conf generation',
    )

    parser.add_argument(
        '--cluster-network',
        help='specify the (internal) cluster network',
        type=arg_validators.Subnet(),
    )

    parser.add_argument(
        '--public-network',
        help='specify the public network for a cluster',
        type=arg_validators.Subnet(),
    )

    parser.set_defaults(
        func=new,
        )