Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Complete ES tests #3

Open
50 of 68 tasks
reynoldsalec opened this issue Oct 14, 2021 · 4 comments
Open
50 of 68 tasks

Complete ES tests #3

reynoldsalec opened this issue Oct 14, 2021 · 4 comments

Comments

@reynoldsalec
Copy link
Sponsor Member

reynoldsalec commented Oct 14, 2021

We want to have examples (ie tests) for all of the P.sh services.

The basic process for creating these is fairly simple...

  1. Copy an existing example directory (ex: examples/mariadb-10.2)
  2. Reconfigure the config files to run the correct service and version. `platform.app.yaml', '.platform/services.yaml' are probably the primary ones, although you'll want to signify the correct service version in all files.
  3. Create Leia-legible tests in the README.md based on example commands found in the P.sh docs.
  4. Experiment running those tests, both individually and finally as a suite (after generating tests yarn run generate:tests and running yarn run test:functional

Services we're targeting (in rough order of priority):

MariaDB

  • 10.5 [SERVICE BROKEN]
  • 10.4
  • 10.3
  • 10.2
  • 10.1
  • 10.0

MySQL

  • 10.4
  • 10.3
  • 10.2
  • 10.1
  • 10.0

Oracle MySQL [SHOULD CREATE ISSUE TO ADD SUPPORT FOR THIS]

Legacy Mariadb

  • 5.5 [THIS IMAGE 403s docker pull docker.registry.platform.sh/mariadb-5.5]

Legacy MySQL

  • 5.5 [THIS IMAGE IMMEDIATELY SEGFAULTS WHEN STARTING UP`]

PostgresSQL -> In progress (awaiting feedback)

  • 13
  • 12
  • 11
  • 10
  • 9.6
  • 9.3

Redis

  • 6.0
  • 5.0
  • 4.0
  • 3.2
  • 3.0
  • 2.8

Memcached

  • 1.6
  • 1.5
  • 1.4 [SERVICE BROKEN]

Solr

  • 8.6
  • 8.4
  • 8.0
  • 7.7
  • 6.6
  • 6.3
  • 4.10
  • 3.6

Elasticsearch -> In progress

  • 6.5
  • 6.8
  • 7.2
  • 7.5
  • 7.7
  • 7.9
  • 7.10

Varnish

  • 6.3
  • 6.0
  • 5.2
  • 5.1 [THIS IMAGE TAG ACTUALLY PULLS VARNISH 5.2]

MongoDB

  • 3.6
  • 3.4
  • 3.2
  • 3.0

RabbitMQ

  • 3.8
  • 3.7
  • 3.6
  • 3.5

Headless Chrome

  • 73

InfluxDB

  • 1.8
  • 1.7
  • 1.3
  • 1.2

Kafka

  • 2.5
  • 2.4
  • 2.3
  • 2.2
  • 2.1

Other important things

Integrations (eg init a site from Platform and doing a lando pull)

  • Drupal 8 (init and pulling from site on platform.sh)
  • Basics (exists mostly just to test platform config file loading and lando overrides)

Nice to have

  • "Advanced Config" for Databases eg spinning up a second DB for each version
@reynoldsalec
Copy link
Sponsor Member Author

One issue I'm noticing; any test that involves running a command on the app container fails because of this output that occurs upon sshing into the container:

/bin/sh: 1: /helpers/psh-exec.sh,/bin/sh,-c,if: not found

@pirog
Copy link
Sponsor Member

pirog commented Oct 14, 2021

@reynoldsalec update here: the command is now yarn test:leia.

Also, if we are all going to work on this want to make a checklist of all the services in the issue so we don't overlap?

reynoldsalec added a commit that referenced this issue Oct 18, 2021
reynoldsalec added a commit that referenced this issue Oct 18, 2021
reynoldsalec added a commit that referenced this issue Oct 18, 2021
@reynoldsalec
Copy link
Sponsor Member Author

reynoldsalec commented Oct 18, 2021

Copying over the maria tests, it does look like the issues I've been seeing locally aren't impacting GitHub Actions (good).

However, the tests for mariadb-10.5 are failing (bad). It looks like something in P.sh's startup scripts may be failing to setup the database correctly; in the Lando logs I see many errors along these lines...

mariadb_1  | runsv mysql-cluster: fatal: unable to lock supervise/lock: temporary failure
mariadb_1  | runsv idmapd: fatal: unable to lock supervise/lock: temporary failure
mariadb_1  | runsv mysql-standalone: fatal: unable to lock supervise/lock: temporary failure
mariadb_1  | runsv mysql-failure: fatal: unable to lock supervise/lock: temporary failure
mariadb_1  | runsv mysql-cluster: fatal: unable to lock supervise/lock: temporary failure

I tried debugging by ssh-ing into the mariadb container; I was unable to connect to the database via the mysql command (mysql -u user -P 3306 -h mariadb main) so I tried running the P.sh start script (/etc/platform/start) again as root, which looks like it produces a Connection refused error:

Traceback (most recent call last):
  File "./start", line 6, in <module>
    service.start()
  File "/usr/lib/python2.7/dist-packages/platformsh/agent/service.py", line 230, in start
    self.boot_wait_for_services()
  File "/etc/platform/config.py", line 715, in boot_wait_for_services
    super(StateAwareService, self).boot_wait_for_services()
  File "/etc/platform/config.py", line 168, in boot_wait_for_services
    self._tcp_connect()
  File "/usr/lib/python2.7/dist-packages/platformsh/agent/util.py", line 109, in retried_function
    return function(*args, **kwargs)
  File "/etc/platform/config.py", line 485, in _tcp_connect
    socket.socket().connect(("127.0.0.1", 3306))
  File "/usr/lib/python2.7/dist-packages/gevent/_socket2.py", line 272, in connect
    raise error(err, strerror(err))
socket.error: [Errno 111] Connection refused

pirog added a commit that referenced this issue Oct 19, 2021
pirog added a commit that referenced this issue Oct 19, 2021
pirog added a commit that referenced this issue Oct 19, 2021
* #3: Switch over to @lando/leia@0.6.0

* #3: Switch over to @lando/leia@0.6.0 part 2

* #3: Switch over to @lando/leia@0.6.0 part 3

* Update to @lando/leia@0.6.1 to fix breaking template bug

* #3: Switch over to @lando/leia@0.6.2

* Clean up tests and update to latest leia for better debug output
pirog added a commit that referenced this issue Oct 19, 2021
pirog added a commit that referenced this issue Oct 20, 2021
pirog added a commit that referenced this issue Oct 20, 2021
pirog added a commit that referenced this issue Oct 20, 2021
pirog added a commit that referenced this issue Oct 20, 2021
@pirog
Copy link
Sponsor Member

pirog commented Oct 20, 2021

@reynoldsalec added some more checkboxes. The other thing we will want to do explicitly is test out php but we can do that in a separate PR for "languages" instead of "services"

pirog added a commit that referenced this issue Oct 20, 2021
* #3: Add our sync test back into the mix

* #3: Open up debugging for D8 test

* #3: Open up debugging for D8 test part 2

* #3: Open up debugging for D8 test part 3

* #3: Open up debugging for D8 test part 4

* #3: Roll back debugging

* #3: Modify tests slightly so they pass
pirog added a commit that referenced this issue Oct 20, 2021
pirog added a commit that referenced this issue Oct 20, 2021
pirog added a commit that referenced this issue Oct 20, 2021
pirog added a commit that referenced this issue Oct 20, 2021
pirog added a commit that referenced this issue Oct 23, 2021
pirog added a commit that referenced this issue Oct 23, 2021
pirog added a commit that referenced this issue Oct 23, 2021
pirog added a commit that referenced this issue Oct 23, 2021
* #3: Varnish tests

* #3: Varnish tests part 2

* #3: Varnish tests part 3
pirog added a commit that referenced this issue Oct 23, 2021
pirog added a commit that referenced this issue Oct 23, 2021
pirog added a commit that referenced this issue Oct 23, 2021
pirog added a commit that referenced this issue Oct 23, 2021
pirog added a commit that referenced this issue Oct 23, 2021
* #3: Mongo tests

* #3: Mongo tests part 2
pirog added a commit that referenced this issue Oct 24, 2021
pirog added a commit that referenced this issue Oct 24, 2021
pirog added a commit that referenced this issue Oct 24, 2021
* #3: Headless chrome tests

* #3: Headless chrome tests part 2
reynoldsalec added a commit that referenced this issue Oct 26, 2021
reynoldsalec added a commit that referenced this issue Oct 26, 2021
reynoldsalec added a commit that referenced this issue Oct 26, 2021
* #3: Add postgresql 9.6.

* #3: Add the rest of the postgresql services.

* #3: Add in a healthcheck for platform-postgresql service.

* #3: Add postgresql 9.3 test.
@pirog pirog added this to In progress in Sprint Planning Oct 27, 2021
@pirog pirog moved this from In progress to Backlog in Sprint Planning Oct 29, 2021
labboy0276 pushed a commit that referenced this issue Nov 2, 2021
labboy0276 pushed a commit that referenced this issue Nov 2, 2021
@pirog pirog changed the title Implement examples for all P.sh services Complete ES tests Nov 15, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Sprint Planning
  
Backlog
Development

No branches or pull requests

3 participants