Esempio n. 1
0
    def _install_cores(cls, path, package, core_count):
        discovery_listen_addresses = []
        transaction_listen_addresses = []
        raft_listen_addresses = []
        bolt_listen_addresses = []
        http_listen_addresses = []
        https_listen_addresses = []

        for core_idx in range(0, core_count):
            discovery_listen_addresses.append(localhost(INITIAL_DISCOVERY_PORT + core_idx))
            transaction_listen_addresses.append(localhost(INITIAL_TRANSACTION_PORT + core_idx))
            raft_listen_addresses.append(localhost(INITIAL_RAFT_PORT + core_idx))
            bolt_listen_addresses.append(localhost(INITIAL_BOLT_PORT + core_idx))
            http_listen_addresses.append(localhost(INITIAL_HTTP_PORT + core_idx))
            https_listen_addresses.append(localhost(INITIAL_HTTPS_PORT + core_idx))

        initial_discovery_members = ",".join(discovery_listen_addresses)

        for core_idx in range(0, core_count):
            core_member_path = path_join(path, CORES_DIR, CORE_DIR_FORMAT % core_idx)
            core_member_home = _create_controller().extract(package, core_member_path)

            core_config = config.for_core(core_count, initial_discovery_members,
                                          discovery_listen_addresses[core_idx],
                                          transaction_listen_addresses[core_idx],
                                          raft_listen_addresses[core_idx],
                                          bolt_listen_addresses[core_idx],
                                          http_listen_addresses[core_idx],
                                          https_listen_addresses[core_idx])

            config.update(core_member_home, core_config)

        return initial_discovery_members
Esempio n. 2
0
def configure():
    parser = ArgumentParser(
        description="Update Neo4j server configuration.\r\n"
                    "\r\n"
                    "example:\r\n"
                    "  neoctrl-configure . dbms.security.auth_enabled=false",
        epilog="Report bugs to [email protected]",
        formatter_class=RawDescriptionHelpFormatter)
    parser.add_argument("-v", "--verbose", action="store_true",
                        help="show more detailed output")
    parser.add_argument("home", nargs="?", default=".", help="Neo4j server directory (default: .)")
    parser.add_argument("items", metavar="key=value", nargs="+", help="key/value assignment")
    parsed = parser.parse_args()
    properties = dict(item.partition("=")[0::2] for item in parsed.items)
    config.update(parsed.home, properties)
Esempio n. 3
0
    def _install_read_replicas(cls, path, package, initial_discovery_members, core_count, read_replica_count):
        first_bolt_port = INITIAL_BOLT_PORT + core_count
        first_http_port = INITIAL_HTTP_PORT + core_count
        first_https_port = INITIAL_HTTPS_PORT + core_count

        for read_replica_idx in range(0, read_replica_count):
            read_replica_path = path_join(path, READ_REPLICAS_DIR, READ_REPLICA_DIR_FORMAT % read_replica_idx)
            read_replica_home = _create_controller().extract(package, read_replica_path)

            bolt_listen_address = localhost(first_bolt_port + read_replica_idx)
            http_listen_address = localhost(first_http_port + read_replica_idx)
            https_listen_address = localhost(first_https_port + read_replica_idx)

            read_replica_config = config.for_read_replica(initial_discovery_members, bolt_listen_address,
                                                          http_listen_address, https_listen_address)

            config.update(read_replica_home, read_replica_config)
Esempio n. 4
0
    def _install_read_replicas(cls, path, package, initial_discovery_members, read_replica_count, port_generator):
        controller = create_controller()
        for read_replica_idx in range(0, read_replica_count):
            read_replica_dir = READ_REPLICA_DIR_FORMAT % read_replica_idx
            read_replica_path = path_join(path, READ_REPLICAS_DIR, read_replica_dir)
            read_replica_home = controller.extract(package, read_replica_path)

            bolt_listen_address = _localhost(next(port_generator))
            http_listen_address = _localhost(next(port_generator))
            https_listen_address = _localhost(next(port_generator))
            transaction_listen_address = _localhost(next(port_generator))

            read_replica_config = config.for_read_replica(initial_discovery_members, bolt_listen_address,
                                                          http_listen_address, https_listen_address,
                                                          transaction_listen_address)

            os_dependent_config = controller.os_dependent_config(read_replica_dir)
            read_replica_config.update(os_dependent_config)

            config.update(read_replica_home, read_replica_config)
Esempio n. 5
0
    def _install_cores(cls, path, package, core_count, port_generator):
        discovery_listen_addresses = []
        transaction_listen_addresses = []
        raft_listen_addresses = []
        bolt_listen_addresses = []
        http_listen_addresses = []
        https_listen_addresses = []

        for core_idx in range(0, core_count):
            discovery_listen_addresses.append(_localhost(next(port_generator)))
            transaction_listen_addresses.append(
                _localhost(next(port_generator)))
            raft_listen_addresses.append(_localhost(next(port_generator)))
            bolt_listen_addresses.append(_localhost(next(port_generator)))
            http_listen_addresses.append(_localhost(next(port_generator)))
            https_listen_addresses.append(_localhost(next(port_generator)))

        initial_discovery_members = ",".join(discovery_listen_addresses)

        controller = _create_controller()
        for core_idx in range(0, core_count):
            core_dir = CORE_DIR_FORMAT % core_idx
            core_member_path = path_join(path, CORES_DIR, core_dir)
            core_member_home = controller.extract(package, core_member_path)

            core_config = config.for_core(
                core_count, initial_discovery_members,
                discovery_listen_addresses[core_idx],
                transaction_listen_addresses[core_idx],
                raft_listen_addresses[core_idx],
                bolt_listen_addresses[core_idx],
                http_listen_addresses[core_idx],
                https_listen_addresses[core_idx])

            os_dependent_config = controller.os_dependent_config(core_dir)
            core_config.update(os_dependent_config)

            config.update(core_member_home, core_config)

        return initial_discovery_members
Esempio n. 6
0
    def _install_read_replicas(cls, path, package, initial_discovery_members,
                               read_replica_count, port_generator):
        controller = _create_controller()
        for read_replica_idx in range(0, read_replica_count):
            read_replica_dir = READ_REPLICA_DIR_FORMAT % read_replica_idx
            read_replica_path = path_join(path, READ_REPLICAS_DIR,
                                          read_replica_dir)
            read_replica_home = controller.extract(package, read_replica_path)

            bolt_listen_address = _localhost(next(port_generator))
            http_listen_address = _localhost(next(port_generator))
            https_listen_address = _localhost(next(port_generator))

            read_replica_config = config.for_read_replica(
                initial_discovery_members, bolt_listen_address,
                http_listen_address, https_listen_address)

            os_dependent_config = controller.os_dependent_config(
                read_replica_dir)
            read_replica_config.update(os_dependent_config)

            config.update(read_replica_home, read_replica_config)
Esempio n. 7
0
    def _install_cores(cls, path, package, core_count, port_generator):
        discovery_listen_addresses = []
        transaction_listen_addresses = []
        raft_listen_addresses = []
        bolt_listen_addresses = []
        http_listen_addresses = []
        https_listen_addresses = []

        for core_idx in range(0, core_count):
            discovery_listen_addresses.append(_localhost(next(port_generator)))
            transaction_listen_addresses.append(_localhost(next(port_generator)))
            raft_listen_addresses.append(_localhost(next(port_generator)))
            bolt_listen_addresses.append(_localhost(next(port_generator)))
            http_listen_addresses.append(_localhost(next(port_generator)))
            https_listen_addresses.append(_localhost(next(port_generator)))

        initial_discovery_members = ",".join(discovery_listen_addresses)

        controller = create_controller()
        for core_idx in range(0, core_count):
            core_dir = CORE_DIR_FORMAT % core_idx
            core_member_path = path_join(path, CORES_DIR, core_dir)
            core_member_home = controller.extract(package, core_member_path)

            core_config = config.for_core(core_count, initial_discovery_members,
                                          discovery_listen_addresses[core_idx],
                                          transaction_listen_addresses[core_idx],
                                          raft_listen_addresses[core_idx],
                                          bolt_listen_addresses[core_idx],
                                          http_listen_addresses[core_idx],
                                          https_listen_addresses[core_idx])

            os_dependent_config = controller.os_dependent_config(core_dir)
            core_config.update(os_dependent_config)

            config.update(core_member_home, core_config)

        return initial_discovery_members
Esempio n. 8
0
 def update_config(self, properties):
     self._foreach_cluster_member(lambda path: config.update(path, properties))