def _create_session(self, node, keyspace, user, password, compression, protocol_version, port=None, ssl_opts=None, execution_profiles=None, **kwargs): node_ip = get_ip_from_node(node) if not port: port = get_port_from_node(node) if protocol_version is None: protocol_version = get_eager_protocol_version(node.cluster.version()) if user is not None: auth_provider = get_auth_provider(user=user, password=password) else: auth_provider = None profiles = {EXEC_PROFILE_DEFAULT: make_execution_profile(**kwargs) } if not execution_profiles else execution_profiles cluster = PyCluster([node_ip], auth_provider=auth_provider, compression=compression, protocol_version=protocol_version, port=port, ssl_options=ssl_opts, connect_timeout=15, allow_beta_protocol_version=True, execution_profiles=profiles) session = cluster.connect(wait_for_all_pools=True) if keyspace is not None: session.set_keyspace(keyspace) self.connections.append(session) return session