コード例 #1
0
    def from_options(cls, reactor, options):
        """
        Create a cluster container deployment object from the
        options given through command line.

        :param reactor: reactor
        :param options: ``ContainerOptions`` container the parsed
            options given to the script.
        """
        try:
            image = DockerImage(repository=options['image'])
            max_size = int(GiB(options['max-size']).to_Byte().value)
            mountpoint = unicode(options['mountpoint'])
            control_node_address = options['control-node']
            timeout = options['wait']
        except Exception as e:
            sys.stderr.write("%s: %s\n" % ("Missing or wrong arguments", e))
            sys.stderr.write(e.args[0])
            sys.stderr.write('\n\n')
            sys.stderr.write(options.getSynopsis())
            sys.stderr.write('\n')
            sys.stderr.write(options.getUsage())
            raise SystemExit(1)

        certificates_path = FilePath(options['cert-directory'])
        cluster_cert = certificates_path.child(b"cluster.crt")
        user_cert = certificates_path.child(b"user.crt")
        user_key = certificates_path.child(b"user.key")

        # Initialise client
        client = FlockerClient(reactor, control_node_address, REST_API_PORT,
                               cluster_cert, user_cert, user_key)

        return cls(reactor, image, max_size, mountpoint, control_node_address,
                   timeout, cluster_cert, user_cert, user_key, client)
コード例 #2
0
 def _initialise_client(self):
     """
     Initialise flocker client.
     """
     self.client = FlockerClient(
         self.reactor,
         self.control_node_address,
         REST_API_PORT,
         self.cluster_cert,
         self.user_cert,
         self.user_key
     )
コード例 #3
0
def make_client(reactor, cluster):
    """
    Create a :class:`FlockerClient` object for accessing the given cluster.

    :param reactor: The reactor.
    :param flocker.provision._common.Cluster cluster: The target cluster.
    :return: The client object.
    :rtype: flocker.apiclient.FlockerClient
    """
    control_node = cluster.control_node.address
    certificates_path = cluster.certificates_path
    cluster_cert = certificates_path.child(b"cluster.crt")
    user_cert = certificates_path.child(b"user.crt")
    user_key = certificates_path.child(b"user.key")
    return FlockerClient(reactor, control_node, REST_API_PORT, cluster_cert,
                         user_cert, user_key)
コード例 #4
0
ファイル: cluster_cleanup.py プロジェクト: zendad/flocker
def main(reactor, args):
    try:
        options = ScriptOptions()
        options.parseOptions(args)
    except UsageError as e:
        sys.stderr.write(e.args[0])
        sys.stderr.write('\n\n')
        sys.stderr.write(options.getSynopsis())
        sys.stderr.write('\n')
        sys.stderr.write(options.getUsage())
        raise SystemExit(1)

    certificates_path = FilePath(options['cert-directory'])
    cluster_cert = certificates_path.child(b"cluster.crt")
    user_cert = certificates_path.child(b"user.crt")
    user_key = certificates_path.child(b"user.key")
    client = FlockerClient(reactor, options['control-node'], REST_API_PORT,
                           cluster_cert, user_cert, user_key)
    return cleanup_cluster(client, options['wait'])