Hi.
I try to deploy trains-server to new clear machine (Ubuntu 18.04 LTS).
First of all I downloaded source archive from releases (0.14.1)
Untared it.
And run docker-compose up.
trains-apiserver | [2020-03-26 09:19:40,206] [8] [WARNING] [urllib3.connectionpool] Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f829a354780>: Failed to establish a new connection: [Errno -2] Name or service not known',)': /_template/queue_metrics
trains-apiserver | Loading config from /opt/trains/server/config/default
trains-apiserver | Loading config from file /opt/trains/server/config/default/apiserver.conf
trains-apiserver | Loading config from file /opt/trains/server/config/default/hosts.conf
trains-apiserver | Loading config from file /opt/trains/server/config/default/logging.conf
trains-apiserver | Loading config from file /opt/trains/server/config/default/secure.conf
trains-apiserver | Loading config from file /opt/trains/server/config/default/services/events.conf
trains-apiserver | Loading config from file /opt/trains/server/config/default/services/tasks.conf
trains-apiserver | Loading config from /opt/trains/config
trains-apiserver | Traceback (most recent call last):
trains-apiserver | File "/usr/local/lib/python3.6/site-packages/urllib3/connection.py", line 157, in _new_conn
trains-apiserver | (self._dns_host, self.port), self.timeout, **extra_kw
trains-apiserver | File "/usr/local/lib/python3.6/site-packages/urllib3/util/connection.py", line 61, in create_connection
trains-apiserver | for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM):
trains-apiserver | File "/usr/lib64/python3.6/socket.py", line 745, in getaddrinfo
trains-apiserver | for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
trains-apiserver | socket.gaierror: [Errno -2] Name or service not known
trains-apiserver |
trains-apiserver | During handling of the above exception, another exception occurred:
trains-apiserver |
trains-apiserver | Traceback (most recent call last):
trains-apiserver | File "/usr/local/lib/python3.6/site-packages/urllib3/connectionpool.py", line 672, in urlopen
trains-apiserver | chunked=chunked,
trains-apiserver | File "/usr/local/lib/python3.6/site-packages/urllib3/connectionpool.py", line 387, in _make_request
trains-apiserver | conn.request(method, url, **httplib_request_kw)
trains-apiserver | File "/usr/lib64/python3.6/http/client.py", line 1254, in request
trains-apiserver | self._send_request(method, url, body, headers, encode_chunked)
trains-apiserver | File "/usr/lib64/python3.6/http/client.py", line 1300, in _send_request
trains-apiserver | self.endheaders(body, encode_chunked=encode_chunked)
trains-apiserver | File "/usr/lib64/python3.6/http/client.py", line 1249, in endheaders
trains-apiserver | self._send_output(message_body, encode_chunked=encode_chunked)
trains-apiserver | File "/usr/lib64/python3.6/http/client.py", line 1036, in _send_output
trains-apiserver | self.send(msg)
trains-apiserver | File "/usr/lib64/python3.6/http/client.py", line 974, in send
trains-apiserver | self.connect()
trains-apiserver | File "/usr/local/lib/python3.6/site-packages/urllib3/connection.py", line 184, in connect
trains-apiserver | conn = self._new_conn()
trains-apiserver | File "/usr/local/lib/python3.6/site-packages/urllib3/connection.py", line 169, in _new_conn
trains-apiserver | self, "Failed to establish a new connection: %s" % e
trains-apiserver | urllib3.exceptions.NewConnectionError: <urllib3.connection.HTTPConnection object at 0x7f829a32f7f0>: Failed to establish a new connection: [Errno -2] Name or service not known
trains-apiserver |
trains-apiserver | During handling of the above exception, another exception occurred:
trains-apiserver |
trains-apiserver | Traceback (most recent call last):
trains-apiserver | File "/usr/local/lib/python3.6/site-packages/requests/adapters.py", line 449, in send
trains-apiserver | timeout=timeout
trains-apiserver | File "/usr/local/lib/python3.6/site-packages/urllib3/connectionpool.py", line 760, in urlopen
trains-apiserver | **response_kw
trains-apiserver | File "/usr/local/lib/python3.6/site-packages/urllib3/connectionpool.py", line 760, in urlopen
trains-apiserver | **response_kw
trains-apiserver | File "/usr/local/lib/python3.6/site-packages/urllib3/connectionpool.py", line 760, in urlopen
trains-apiserver | **response_kw
trains-apiserver | [Previous line repeated 2 more times]
trains-apiserver | File "/usr/local/lib/python3.6/site-packages/urllib3/connectionpool.py", line 720, in urlopen
trains-apiserver | method, url, error=e, _pool=self, _stacktrace=sys.exc_info()[2]
trains-apiserver | File "/usr/local/lib/python3.6/site-packages/urllib3/util/retry.py", line 436, in increment
trains-apiserver | raise MaxRetryError(_pool, url, error or ResponseError(cause))
trains-apiserver | urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='elasticsearch', port=9200): Max retries exceeded with url: /_template/queue_metrics (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f829a32f7f0>: Failed to establish a new connection: [Errno -2] Name or service not known',))
trains-apiserver |
trains-apiserver | During handling of the above exception, another exception occurred:
trains-apiserver |
trains-apiserver | Traceback (most recent call last):
trains-apiserver | File "server.py", line 36, in <module>
trains-apiserver | init_es_data()
trains-apiserver | File "/opt/trains/server/elastic/initialize.py", line 26, in init_es_data
trains-apiserver | res = apply_mappings_to_host(host)
trains-apiserver | File "/opt/trains/server/elastic/apply_mappings.py", line 37, in apply_mappings_to_host
trains-apiserver | _send_mapping(f) for f in p.iterdir() if f.is_file() and f.suffix == ".json"
trains-apiserver | File "/opt/trains/server/elastic/apply_mappings.py", line 37, in <listcomp>
trains-apiserver | _send_mapping(f) for f in p.iterdir() if f.is_file() and f.suffix == ".json"
trains-apiserver | File "/opt/trains/server/elastic/apply_mappings.py", line 27, in _send_mapping
trains-apiserver | session.delete(url)
trains-apiserver | File "/usr/local/lib/python3.6/site-packages/requests/sessions.py", line 612, in delete
trains-apiserver | return self.request('DELETE', url, **kwargs)
trains-apiserver | File "/usr/local/lib/python3.6/site-packages/requests/sessions.py", line 530, in request
trains-apiserver | resp = self.send(prep, **send_kwargs)
trains-apiserver | File "/usr/local/lib/python3.6/site-packages/requests/sessions.py", line 643, in send
trains-apiserver | r = adapter.send(request, **kwargs)
trains-apiserver | File "/usr/local/lib/python3.6/site-packages/requests/adapters.py", line 516, in send
trains-apiserver | raise ConnectionError(e, request=request)
trains-apiserver | requests.exceptions.ConnectionError: HTTPConnectionPool(host='elasticsearch', port=9200): Max retries exceeded with url: /_template/queue_metrics (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f829a32f7f0>: Failed to establish a new connection: [Errno -2] Name or service not known',))
trains-apiserver exited with code 1
trains-apiserver | [2020-03-26 09:19:41,625] [8] [INFO] [trains.es_factory] Using override elastic host elasticsearch
trains-apiserver | [2020-03-26 09:19:41,625] [8] [INFO] [trains.es_factory] Using override elastic port 9200
trains-apiserver | [2020-03-26 09:19:41,870] [8] [INFO] [trains.redis_manager] Using override redis host redis
trains-apiserver | [2020-03-26 09:19:41,871] [8] [INFO] [trains.redis_manager] Using override redis port 6379
trains-apiserver | [2020-03-26 09:19:41,975] [8] [INFO] [trains.schema] loading schema from cache
trains-apiserver | [2020-03-26 09:19:41,994] [8] [INFO] [trains.server] ################ API Server initializing #####################
trains-apiserver | [2020-03-26 09:19:41,994] [8] [INFO] [trains.database] Initializing database connections
trains-apiserver | [2020-03-26 09:19:41,995] [8] [INFO] [trains.database] Using override mongodb host mongo
trains-apiserver | [2020-03-26 09:19:41,995] [8] [INFO] [trains.database] Using override mongodb port 27017
trains-apiserver | [2020-03-26 09:19:41,997] [8] [INFO] [trains.database] Registering connection to auth-db (mongodb://mongo:27017/auth)
trains-apiserver | [2020-03-26 09:19:41,998] [8] [INFO] [trains.database] Registering connection to backend-db (mongodb://mongo:27017/backend)
trains-apiserver | [2020-03-26 09:19:41,999] [8] [INFO] [trains.initialize] Applying mappings to host: http://elasticsearch:9200
trains-apiserver | [2020-03-26 09:19:42,016] [8] [WARNING] [urllib3.connectionpool] Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f0afda9eeb8>: Failed to establish a new connection: [Errno -2] Name or service not known',)': /_template/queue_metrics
trains-apiserver | [2020-03-26 09:19:43,031] [8] [WARNING] [urllib3.connectionpool] Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f0afdaae160>: Failed to establish a new connection: [Errno -2] Name or service not known',)': /_template/queue_metrics
trains-apiserver | [2020-03-26 09:19:45,049] [8] [WARNING] [urllib3.connectionpool] Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f0afdaae2e8>: Failed to establish a new connection: [Errno -2] Name or service not known',)': /_template/queue_metrics
trains-apiserver | [2020-03-26 09:19:49,071] [8] [WARNING] [urllib3.connectionpool] Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f0afdaae470>: Failed to establish a new connection: [Errno -2] Name or service not known',)': /_template/queue_metrics
trains-apiserver | [2020-03-26 09:19:57,094] [8] [WARNING] [urllib3.connectionpool] Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f0afdaae7f0>: Failed to establish a new connection: [Errno -2] Name or service not known',)': /_template/queue_metrics
trains-apiserver | Loading config from /opt/trains/server/config/default
trains-apiserver | Loading config from file /opt/trains/server/config/default/apiserver.conf
trains-apiserver | Loading config from file /opt/trains/server/config/default/hosts.conf
trains-apiserver | Loading config from file /opt/trains/server/config/default/logging.conf
trains-apiserver | Loading config from file /opt/trains/server/config/default/secure.conf
trains-apiserver | Loading config from file /opt/trains/server/config/default/services/events.conf
trains-apiserver | Loading config from file /opt/trains/server/config/default/services/tasks.conf
trains-apiserver | Loading config from /opt/trains/config
trains-apiserver | Traceback (most recent call last):
trains-apiserver | File "/usr/local/lib/python3.6/site-packages/urllib3/connection.py", line 157, in _new_conn
trains-apiserver | (self._dns_host, self.port), self.timeout, **extra_kw
trains-apiserver | File "/usr/local/lib/python3.6/site-packages/urllib3/util/connection.py", line 61, in create_connection
trains-apiserver | for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM):
trains-apiserver | File "/usr/lib64/python3.6/socket.py", line 745, in getaddrinfo
trains-apiserver | for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
trains-apiserver | socket.gaierror: [Errno -2] Name or service not known
trains-apiserver |
trains-apiserver | During handling of the above exception, another exception occurred:
trains-apiserver |
trains-apiserver | Traceback (most recent call last):
trains-apiserver | File "/usr/local/lib/python3.6/site-packages/urllib3/connectionpool.py", line 672, in urlopen
trains-apiserver | chunked=chunked,
trains-apiserver | File "/usr/local/lib/python3.6/site-packages/urllib3/connectionpool.py", line 387, in _make_request
trains-apiserver | conn.request(method, url, **httplib_request_kw)
trains-apiserver | File "/usr/lib64/python3.6/http/client.py", line 1254, in request
trains-apiserver | self._send_request(method, url, body, headers, encode_chunked)
trains-apiserver | File "/usr/lib64/python3.6/http/client.py", line 1300, in _send_request
trains-apiserver | self.endheaders(body, encode_chunked=encode_chunked)
trains-apiserver | File "/usr/lib64/python3.6/http/client.py", line 1249, in endheaders
trains-apiserver | self._send_output(message_body, encode_chunked=encode_chunked)
trains-apiserver | File "/usr/lib64/python3.6/http/client.py", line 1036, in _send_output
trains-apiserver | self.send(msg)
trains-apiserver | File "/usr/lib64/python3.6/http/client.py", line 974, in send
trains-apiserver | self.connect()
trains-apiserver | File "/usr/local/lib/python3.6/site-packages/urllib3/connection.py", line 184, in connect
trains-apiserver | conn = self._new_conn()
trains-apiserver | File "/usr/local/lib/python3.6/site-packages/urllib3/connection.py", line 169, in _new_conn
trains-apiserver | self, "Failed to establish a new connection: %s" % e
trains-apiserver | urllib3.exceptions.NewConnectionError: <urllib3.connection.HTTPConnection object at 0x7f0afda88860>: Failed to establish a new connection: [Errno -2] Name or service not known
trains-apiserver |
trains-apiserver | During handling of the above exception, another exception occurred:
trains-apiserver |
trains-apiserver | Traceback (most recent call last):
trains-apiserver | File "/usr/local/lib/python3.6/site-packages/requests/adapters.py", line 449, in send
trains-apiserver | timeout=timeout
trains-apiserver | File "/usr/local/lib/python3.6/site-packages/urllib3/connectionpool.py", line 760, in urlopen
trains-apiserver | **response_kw
trains-apiserver | File "/usr/local/lib/python3.6/site-packages/urllib3/connectionpool.py", line 760, in urlopen
trains-apiserver | **response_kw
trains-apiserver | File "/usr/local/lib/python3.6/site-packages/urllib3/connectionpool.py", line 760, in urlopen
trains-apiserver | **response_kw
trains-apiserver | [Previous line repeated 2 more times]
trains-apiserver | File "/usr/local/lib/python3.6/site-packages/urllib3/connectionpool.py", line 720, in urlopen
trains-apiserver | method, url, error=e, _pool=self, _stacktrace=sys.exc_info()[2]
trains-apiserver | File "/usr/local/lib/python3.6/site-packages/urllib3/util/retry.py", line 436, in increment
trains-apiserver | raise MaxRetryError(_pool, url, error or ResponseError(cause))
trains-apiserver | urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='elasticsearch', port=9200): Max retries exceeded with url: /_template/queue_metrics (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f0afda88860>: Failed to establish a new connection: [Errno -2] Name or service not known',))
trains-apiserver |
trains-apiserver | During handling of the above exception, another exception occurred:
trains-apiserver |
trains-apiserver | Traceback (most recent call last):
trains-apiserver | File "server.py", line 36, in <module>
trains-apiserver | init_es_data()
trains-apiserver | File "/opt/trains/server/elastic/initialize.py", line 26, in init_es_data
trains-apiserver | res = apply_mappings_to_host(host)
trains-apiserver | File "/opt/trains/server/elastic/apply_mappings.py", line 37, in apply_mappings_to_host
trains-apiserver | _send_mapping(f) for f in p.iterdir() if f.is_file() and f.suffix == ".json"
trains-apiserver | File "/opt/trains/server/elastic/apply_mappings.py", line 37, in <listcomp>
trains-apiserver | _send_mapping(f) for f in p.iterdir() if f.is_file() and f.suffix == ".json"
trains-apiserver | File "/opt/trains/server/elastic/apply_mappings.py", line 27, in _send_mapping
trains-apiserver | session.delete(url)
trains-apiserver | File "/usr/local/lib/python3.6/site-packages/requests/sessions.py", line 612, in delete
trains-apiserver | return self.request('DELETE', url, **kwargs)
trains-apiserver | File "/usr/local/lib/python3.6/site-packages/requests/sessions.py", line 530, in request
trains-apiserver | resp = self.send(prep, **send_kwargs)
trains-apiserver | File "/usr/local/lib/python3.6/site-packages/requests/sessions.py", line 643, in send
trains-apiserver | r = adapter.send(request, **kwargs)
trains-apiserver | File "/usr/local/lib/python3.6/site-packages/requests/adapters.py", line 516, in send
trains-apiserver | raise ConnectionError(e, request=request)
trains-apiserver | requests.exceptions.ConnectionError: HTTPConnectionPool(host='elasticsearch', port=9200): Max retries exceeded with url: /_template/queue_metrics (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f0afda88860>: Failed to establish a new connection: [Errno -2] Name or service not known',))
trains-apiserver exited with code 1
Hm, I said. And went to google. There was nothing about it very useful. But they suggested to chown trains directory. I tried.
Logs from trains-elastic changed
trains-elastic | [2020-03-26T09:23:45,378][INFO ][o.e.p.PluginsService ] [trains] loaded module [aggs-matrix-stats]
trains-elastic | [2020-03-26T09:23:45,379][INFO ][o.e.p.PluginsService ] [trains] loaded module [ingest-common]
trains-elastic | [2020-03-26T09:23:45,379][INFO ][o.e.p.PluginsService ] [trains] loaded module [lang-expression]
trains-elastic | [2020-03-26T09:23:45,379][INFO ][o.e.p.PluginsService ] [trains] loaded module [lang-groovy]
trains-elastic | [2020-03-26T09:23:45,380][INFO ][o.e.p.PluginsService ] [trains] loaded module [lang-mustache]
trains-elastic | [2020-03-26T09:23:45,380][INFO ][o.e.p.PluginsService ] [trains] loaded module [lang-painless]
trains-elastic | [2020-03-26T09:23:45,380][INFO ][o.e.p.PluginsService ] [trains] loaded module [parent-join]
trains-elastic | [2020-03-26T09:23:45,381][INFO ][o.e.p.PluginsService ] [trains] loaded module [percolator]
trains-elastic | [2020-03-26T09:23:45,381][INFO ][o.e.p.PluginsService ] [trains] loaded module [reindex]
trains-elastic | [2020-03-26T09:23:45,381][INFO ][o.e.p.PluginsService ] [trains] loaded module [transport-netty3]
trains-elastic | [2020-03-26T09:23:45,382][INFO ][o.e.p.PluginsService ] [trains] loaded module [transport-netty4]
trains-elastic | [2020-03-26T09:23:45,382][INFO ][o.e.p.PluginsService ] [trains] loaded plugin [ingest-geoip]
trains-elastic | [2020-03-26T09:23:45,389][INFO ][o.e.p.PluginsService ] [trains] loaded plugin [ingest-user-agent]
trains-elastic | [2020-03-26T09:23:45,390][INFO ][o.e.p.PluginsService ] [trains] loaded plugin [x-pack]
trains-apiserver | [2020-03-26 09:23:46,247] [8] [INFO] [trains.es_factory] Using override elastic host elasticsearch
trains-apiserver | [2020-03-26 09:23:46,248] [8] [INFO] [trains.es_factory] Using override elastic port 9200
trains-apiserver | [2020-03-26 09:23:46,742] [8] [INFO] [trains.redis_manager] Using override redis host redis
trains-apiserver | [2020-03-26 09:23:46,743] [8] [INFO] [trains.redis_manager] Using override redis port 6379
trains-apiserver | [2020-03-26 09:23:46,968] [8] [INFO] [trains.schema] loading schema from cache
trains-apiserver | [2020-03-26 09:23:47,004] [8] [INFO] [trains.server] ################ API Server initializing #####################
trains-apiserver | [2020-03-26 09:23:47,010] [8] [INFO] [trains.database] Initializing database connections
trains-apiserver | [2020-03-26 09:23:47,010] [8] [INFO] [trains.database] Using override mongodb host mongo
trains-apiserver | [2020-03-26 09:23:47,011] [8] [INFO] [trains.database] Using override mongodb port 27017
trains-apiserver | [2020-03-26 09:23:47,012] [8] [INFO] [trains.database] Registering connection to auth-db (mongodb://mongo:27017/auth)
trains-apiserver | [2020-03-26 09:23:47,014] [8] [INFO] [trains.database] Registering connection to backend-db (mongodb://mongo:27017/backend)
trains-apiserver | [2020-03-26 09:23:47,018] [8] [INFO] [trains.initialize] Applying mappings to host: http://elasticsearch:9200
trains-apiserver | [2020-03-26 09:23:47,026] [8] [WARNING] [urllib3.connectionpool] Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f6f66590eb8>: Failed to establish a new connection: [Errno 111] Connection refused',)': /_template/queue_metrics
trains-elastic | [2020-03-26T09:23:47,252][WARN ][o.e.d.c.s.Settings ] [script.inline] setting was deprecated in Elasticsearch and will be removed in a future release! See the breaking changes documentation for the next major version.
trains-elastic | [2020-03-26T09:23:47,253][WARN ][o.e.d.c.s.Settings ] [script.update] setting was deprecated in Elasticsearch and will be removed in a future release! See the breaking changes documentation for the next major version.
trains-apiserver | [2020-03-26 09:23:48,028] [8] [WARNING] [urllib3.connectionpool] Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f6f6659e160>: Failed to establish a new connection: [Errno 111] Connection refused',)': /_template/queue_metrics
trains-elastic | [2020-03-26T09:23:49,699][INFO ][o.e.x.m.j.p.l.CppLogMessageHandler] [controller/45] [Main.cc@128] controller (64 bit): Version 5.6.16 (Build 9ed4c28f2a8755) Copyright (c) 2019 Elasticsearch BV
trains-elastic | [2020-03-26T09:23:49,771][INFO ][o.e.d.DiscoveryModule ] [trains] using discovery type [zen]
trains-apiserver | [2020-03-26 09:23:50,032] [8] [WARNING] [urllib3.connectionpool] Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f6f6659e2e8>: Failed to establish a new connection: [Errno 111] Connection refused',)': /_template/queue_metrics
trains-elastic | [2020-03-26T09:23:51,016][INFO ][o.e.n.Node ] [trains] initialized
trains-elastic | [2020-03-26T09:23:51,020][INFO ][o.e.n.Node ] [trains] starting ...
trains-elastic | [2020-03-26T09:23:51,383][INFO ][o.e.t.TransportService ] [trains] publish_address {172.24.0.5:9300}, bound_addresses {0.0.0.0:9300}
trains-elastic | [2020-03-26T09:23:51,407][INFO ][o.e.b.BootstrapChecks ] [trains] bound or publishing to a non-loopback address, enforcing bootstrap checks
trains-elastic | ERROR: [1] bootstrap checks failed
trains-elastic | [1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
trains-elastic | [2020-03-26T09:23:51,437][INFO ][o.e.n.Node ] [trains] stopping ...
trains-elastic | [2020-03-26T09:23:51,470][INFO ][o.e.n.Node ] [trains] stopped
trains-elastic | [2020-03-26T09:23:51,471][INFO ][o.e.n.Node ] [trains] closing ...
trains-elastic | [2020-03-26T09:23:51,491][INFO ][o.e.n.Node ] [trains] closed
trains-elastic exited with code 78
but from apiserver not.
There all my ideas gone away. Can you help my?