Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# Changelog

## In Development
* Pin etcd to latest 3 version per new st2 coordination requirement (#61)

## v0.10.0
* Bump versions of all dependencies (#50)
Expand Down
1 change: 1 addition & 0 deletions templates/configmaps_st2-conf.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ data:
[auth]
api_url = http://{{ .Release.Name }}-st2api{{ template "enterpriseSuffix" . }}:9101/
[coordination]
# TODO: Use 'etcd3+http' driver for tooz, per https://github.com/StackStorm/st2/pull/4608
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tried to switch to new driver, got:

$ kubectl logs sappy-seal-st2api-6566877d48-w2ft4
2019-04-08 19:59:43,772 DEBUG [-] Using Python: 2.7.12 (/opt/stackstorm/st2/bin/python)
2019-04-08 19:59:43,773 DEBUG [-] Using config files: /etc/st2/st2.conf,/etc/st2/st2.docker.conf,/etc/st2/st2.user.conf
2019-04-08 19:59:43,773 DEBUG [-] Using logging config: /etc/st2/logging.api.conf
2019-04-08 19:59:43,783 INFO [-] Connecting to database "st2" @ "sappy-seal-mongodb-ha:27017" as user "None".
2019-04-08 19:59:43,909 INFO [-] Successfully connected to database "st2" @ "sappy-seal-mongodb-ha:27017" as user "None".
2019-04-08 19:59:45,392 INFO [-] (PID=1) ST2 API is serving on http://0.0.0.0:9101.
2019-04-08 19:59:45,393 INFO [-] Creating st2api: StackStorm v3.0dev as OpenAPI app.
2019-04-08 19:59:46,307 ERROR [-] (PID=1) ST2 API quit due to exception.
Traceback (most recent call last):
  File "/opt/stackstorm/st2/local/lib/python2.7/site-packages/st2api/cmd/api.py", line 82, in main
    return _run_server()
  File "/opt/stackstorm/st2/local/lib/python2.7/site-packages/st2api/cmd/api.py", line 71, in _run_server
    wsgi.server(sock, app.setup_app(), custom_pool=worker_pool, log=LOG, log_output=False)
  File "/opt/stackstorm/st2/local/lib/python2.7/site-packages/st2api/app.py", line 80, in setup_app
    router.add_spec(spec, transforms=transforms)
  File "/opt/stackstorm/st2/local/lib/python2.7/site-packages/st2common/router.py", line 212, in add_spec
    __import__(module_name)
  File "/opt/stackstorm/st2/local/lib/python2.7/site-packages/st2api/controllers/v1/keyvalue.py", line 437, in <module>
    key_value_pair_controller = KeyValuePairController()
  File "/opt/stackstorm/st2/local/lib/python2.7/site-packages/st2api/controllers/v1/keyvalue.py", line 62, in __init__
    self._coordinator = coordination.get_coordinator()
  File "/opt/stackstorm/st2/local/lib/python2.7/site-packages/st2common/services/coordination.py", line 227, in get_coordinator
    COORDINATOR = coordinator_setup(start_heart=start_heart)
  File "/opt/stackstorm/st2/local/lib/python2.7/site-packages/st2common/services/coordination.py", line 192, in coordinator_setup
    coordinator = coordination.get_coordinator(url, member_id, lock_timeout=lock_timeout)
  File "/opt/stackstorm/st2/local/lib/python2.7/site-packages/tooz/coordination.py", line 803, in get_coordinator
    invoke_args=(member_id, parsed_url, options)).driver
  File "/opt/stackstorm/st2/local/lib/python2.7/site-packages/stevedore/driver.py", line 61, in __init__
    warn_on_missing_entrypoint=warn_on_missing_entrypoint
  File "/opt/stackstorm/st2/local/lib/python2.7/site-packages/stevedore/named.py", line 81, in __init__
    verify_requirements)
  File "/opt/stackstorm/st2/local/lib/python2.7/site-packages/stevedore/extension.py", line 203, in _load_plugins
    self._on_load_failure_callback(self, ep, err)
  File "/opt/stackstorm/st2/local/lib/python2.7/site-packages/stevedore/extension.py", line 195, in _load_plugins
    verify_requirements,
  File "/opt/stackstorm/st2/local/lib/python2.7/site-packages/stevedore/named.py", line 158, in _load_one_plugin
    verify_requirements,
  File "/opt/stackstorm/st2/local/lib/python2.7/site-packages/stevedore/extension.py", line 223, in _load_one_plugin
    plugin = ep.resolve()
  File "/opt/stackstorm/st2/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2297, in resolve
    module = __import__(self.module_name, fromlist=['__name__'], level=0)
  File "/opt/stackstorm/st2/local/lib/python2.7/site-packages/tooz/drivers/etcd3gw.py", line 20, in <module>
    import etcd3gw
ImportError: No module named etcd3gw
2019-04-08 19:59:46,312 INFO [-] Connected to amqp://admin:**@sappy-seal-rabbitmq-ha-discovery:5672//

@Kami Looks like we'll need another pip dependency etcd3gw in st2 requirements.txt to make it work out of the box.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, as per my comment on Slack (etcd drivers in tooz are quite broken) - it needs a lot more work, not just driver installation so I put it on hold for a future release.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK works for me.
Leaving it as draft for now.

url = etcd://{{ .Release.Name }}-etcd:2379
[messaging]
# TODO: RabbitMQ HQ connection string needs templating based on number of nodes
Expand Down
3 changes: 3 additions & 0 deletions values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -388,6 +388,9 @@ rabbitmq-ha:
## https://github.com/helm/charts/blob/master/incubator/etcd/values.yaml
##
etcd:
image:
# At least etcd 'v3.0' is required by StackStorm
tag: "3.3.10"
resources: {}

##
Expand Down