Issue with changelog 53. Upgrade Redis

I'm running a monolith server on Ubuntu 18.04. At the bottom of 53. upgrade redis, it says to run:

cchq ap deploy_redis.yml –branch=

I assume that should read

cchq <env> ap deploy_redis.yml

When I run

cchq monolith ap deploy_redis.yml

I get the following:

Traceback (most recent call last):
  File "/home/ccc/.virtualenvs/cchq/bin/cchq", line 33, in <module>
    sys.exit(load_entry_point('commcare-cloud', 'console_scripts', 'cchq')())
  File "/home/ccc/commcare-cloud/src/commcare_cloud/commcare_cloud.py", line 262, in main
    exit_code = call_commcare_cloud()
  File "/home/ccc/commcare-cloud/src/commcare_cloud/commcare_cloud.py", line 231, in call_commcare_cloud
    exit_code = command.run(args, unknown_args)
  File "/home/ccc/commcare-cloud/src/commcare_cloud/commands/ansible/ansible_playbook.py", line 80, in run
    environment.create_generated_yml()
  File "/home/ccc/commcare-cloud/src/commcare_cloud/environment/main.py", line 383, in create_generated_yml
    generated_variables.update(self.postgresql_config.to_generated_variables(self))
  File "/home/ccc/.virtualenvs/cchq/lib/python3.6/site-packages/memoized.py", line 20, in _memoized
    cache[key] = value = fn(*args, **kwargs)
  File "/home/ccc/commcare-cloud/src/commcare_cloud/environment/main.py", line 148, in postgresql_config
    postgresql_config = PostgresqlConfig.wrap(postgresql_json)
  File "/home/ccc/commcare-cloud/src/commcare_cloud/environment/schemas/postgresql.py", line 95, in wrap
    PostgresqlOverride.wrap(data.get('postgres_override', {}))
  File "jsonobject/base.pyx", line 251, in jsonobject.base.JsonObjectBase.wrap
  File "jsonobject/base.pyx", line 202, in jsonobject.base.JsonObjectBase.__init__
  File "jsonobject/base.pyx", line 235, in jsonobject.base.JsonObjectBase.set_raw_value
  File "jsonobject/base.pyx", line 274, in jsonobject.base.JsonObjectBase.__wrap
  File "jsonobject/base_properties.pyx", line 278, in jsonobject.base_properties.AssertTypeProperty.wrap
  File "jsonobject/base_properties.pyx", line 269, in jsonobject.base_properties.AssertTypeProperty.assert_type
jsonobject.exceptions.BadValueError: 10 not of type (<class 'str'>, <class 'str'>)

This is because of some configuration in your environments postgresql.yml. Looking at the history of the code in the repo I think it is expecting a string for postgresql_version and not number:

postgres_override
-  postgresql_version: 10
+  postgresql_version: '10'
1 Like

You're a wiz Simon. Ha! That number 10 should have rung a bell. Thanks!