Example #1
0
 def test_hostname_must_be_an_ip(self):
     self.fake_sock.getaddrinfo = Mock()
     hostname = arg_validators.Hostname(self.fake_sock)
     with raises(ArgumentError) as error:
         hostname('0')
     message = error.value.message
     assert '0 must be a hostname' in message
Example #2
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.set_defaults(
        func=new,
        )
Example #3
0
 def test_ip_is_not_resolvable(self):
     self.fake_sock.gethostbyname = Mock(return_value='192.168.1.111')
     hostname = arg_validators.Hostname(self.fake_sock)
     with raises(ArgumentError) as error:
         hostname('name:192.168.1.111')
     message = error.value.message
     assert 'must be a hostname not an IP' in message
Example #4
0
    def test_host_is_resolvable(self):
        self.fake_sock = Mock()
        self.fake_sock.gaierror = socket.gaierror

        def side_effect(*args):
            # First call passes, second call raises socket.gaierror
            self.fake_sock.getaddrinfo.side_effect = socket.gaierror

        self.fake_sock.getaddrinfo.side_effect = side_effect
        hostname = arg_validators.Hostname(self.fake_sock)
        result = hostname('name:example.com')
        assert result == 'name:example.com'
Example #5
0
    def test_ipv6_is_allowed_when_paired_with_host(self):
        self.fake_sock = Mock()
        self.fake_sock.gaierror = socket.gaierror

        def side_effect(*args):
            # First call passes, second call raises socket.gaierror
            self.fake_sock.getaddrinfo.side_effect = socket.gaierror

        self.fake_sock.getaddrinfo.side_effect = side_effect
        hostname = arg_validators.Hostname(self.fake_sock)
        result = hostname('name:2001:0db8:85a3:0000:0000:8a2e:0370:7334')
        assert result == 'name:2001:0db8:85a3:0000:0000:8a2e:0370:7334'
Example #6
0
    def test_ip_is_allowed_when_paired_with_host(self):
        self.fake_sock = Mock()
        self.fake_sock.gaierror = socket.gaierror

        def side_effect(*args):
            # First call passes, second call raises socket.gaierror
            self.fake_sock.getaddrinfo.side_effect = socket.gaierror

        self.fake_sock.getaddrinfo.side_effect = side_effect
        hostname = arg_validators.Hostname(self.fake_sock)
        result = hostname('name:192.168.1.111')
        assert result == 'name:192.168.1.111'
Example #7
0
 def test_hostname_with_name_is_not_resolvable(self):
     hostname = arg_validators.Hostname(self.fake_sock)
     with raises(ArgumentError) as error:
         hostname('name:foo')
     message = error.value.message
     assert 'foo is not resolvable' in message
Example #8
0
 def test_host_is_resolvable(self):
     self.fake_sock.gethostbyname = Mock()
     hostname = arg_validators.Hostname(self.fake_sock)
     result = hostname('name:example.com')
     assert result == 'name:example.com'
Example #9
0
 def test_ipv6_is_allowed_when_paired_with_host(self):
     self.fake_sock.gethostbyname = Mock(return_value='2001:0db8:85a3:0000:0000:8a2e:0370:7334')
     hostname = arg_validators.Hostname(self.fake_sock)
     result = hostname('name:2001:0db8:85a3:0000:0000:8a2e:0370:7334')
     assert result == 'name:2001:0db8:85a3:0000:0000:8a2e:0370:7334'
Example #10
0
 def test_ip_is_allowed_when_paired_with_host(self):
     self.fake_sock.gethostbyname = Mock(return_value='192.168.1.111')
     hostname = arg_validators.Hostname(self.fake_sock)
     result = hostname('name:192.168.1.111')
     assert result == 'name:192.168.1.111'