# TripleO (CI) and OpenStack SDK 1.0.0 / Ansible OpenStack collection 2.0.0
###### tags: `DF` `Ansible` `Design`
openstacksdk, starting from version 0.99.0, has introduced breaking changes
that have made ansible-collections-openstack, a consumer of the sdk, have to
adapt to with breaking changes of our own. Since tripleo in turn uses the
collections, this means that we must test tripleo against the new collections
and sdk to prevent any fires before they start.
Currently, tripleo-ci jobs are running stable/1.0.0 and old sdk for stable
releases, which is correct. To make sure we don't break the world when we
release the new collection, we need a line that tests master/sdk>0.99 with
the new sdk
## Supported collections/sdk pairs
| | SDK < 0.99 ("old") | SDK >= 0.99 ("new") |
| ---------------- | ------------------- | ------------------- |
| AOC stable/1.0.0 | Supported | Unsupported |
| AOC master | Unsupported | Supported |
## TripleO CI coverage
| | |
| --------------- | ----------------------------- |
| TripleO Train | SDK<0.99 + AOC `stable/1.0.0` |
| TripleO Wallaby | SDK<0.99 + AOC `stable/1.0.0` |
| TripleO master | SDK<0.99 + AOC `stable/1.0.0` (temporarily until TripleO related modules in AOC have been ported to SDK>=0.99.0 and TripleO has been adapted to new AOC modules) |
| | SDK>=0.99 + AOC `master` (for adapting TripleO to AOC) |
| (TripleO Zed) | SDK>=0.99 + AOC `master` |
## Open questions
* Openstack sdk is [pinned](https://github.com/redhat-openstack/rdoinfo/blob/master/tags/zed-uc.yml#L470) to an older sdk version to prevent breakage. How can we get a newer sdk in our theoretical line?
* Can we easily set our [existing check jobs](https://opendev.org/openstack/ansible-collections-openstack/src/branch/master/.zuul.yaml#L299) to
install master/new sdk?
* What jobs should we include?
* Start with standalone and see from there?
* Is there a way we can ensure we're exercising all the collection usage
in tripleo?