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
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, )