---
# System prepended metadata

title: Add CI coverage to test "Removal of Swift service from undercloud"
tags: [Design]

---

# Add CI coverage to test "Removal of Swift service from undercloud"
###### tags: `Design`


## How to disable swift in undercloud?

Add **enable_swift = False** in undercloud.conf and install undercloud	
~~~
enable_swift = False
~~~

Note: Adding `enable_swift=False` will pass [environments/disable-swift.yaml](https://github.com/openstack/tripleo-heat-templates/blob/master/environments/disable-swift.yaml) during undercloud deploy.


## Where we can possibly test in CI?

* Standalone jobs(Upstream CI)? 
    * Need to check with Kevin if we have plan is to remove swift from Standalone as well, and explore if Standalone jobs can provide some coverage.
* Multinode deployment(RDO Third Party jobs):-
    * 3 controller + 1 compute vanila ovb deployment (for eg: fs001)
    * 2 node multinode jobs (For eg: tripleo-ci-centos-8-multinode-1ctlr-featureset010)

## Ci patches and results

* [DNM] Disable swift from undercloud by
adding `enable_swift` = False in undercloud.conf
https://review.opendev.org/c/openstack/tripleo-quickstart-extras/+/769245
    **Failed during introspection**

* Testproject
https://review.rdoproject.org/r/#/c/28442/
    **Failed during overcloud deploy**

## Issues & observations

1. Introspection failed in fs001 job

https://logserver.rdoproject.org/45/769245/1/openstack-check/tripleo-ci-centos-8-ovb-3ctlr_1comp-featureset001/447ded1/logs/undercloud/var/log/containers/ironic-inspector/ironic-inspector.log.txt.gz
~~~
2021-01-05 06:37:41.953 8 ERROR ironic_inspector.utils [-] Could not connect to the object storage service: ['internal', 'public'] endpoint for object-store service in regionOne region not found: 
.
.
2021-01-05 06:37:41.954 8 ERROR ironic_inspector.process     raise exceptions.EndpointNotFound(msg)
2021-01-05 06:37:41.954 8 ERROR ironic_inspector.process keystoneauth1.exceptions.catalog.EndpointNotFound: ['internal', 'public'] endpoint for object-store service in regionOne region not found
~~~

2. Overcloud deployment failed in 2 nodes multinode job


https://logserver.rdoproject.org/42/28442/11/check/periodic-tripleo-ci-centos-8-multinode-1ctlr-featureset010-master/f395d8e/logs/undercloud/home/zuul/overcloud_deploy.log.txt.gz
~~~
ERROR tripleoclient.v1.overcloud_deploy.DeployOvercloud [-] Exception occured while running the command: keystoneauth1.exceptions.catalog.EndpointNotFound: public endpoint for object-store service not found
~~~

3. May be we don't need `create_swift_temp_url_key` container when swift is disabled

https://logserver.rdoproject.org/45/769245/1/openstack-check/tripleo-ci-centos-8-ovb-3ctlr_1comp-featureset001/447ded1/logs/undercloud/var/log/extra/podman/podman_allinfo.log.txt.gz

~~~
daafe38c3e24  192.168.24.1:8787/tripleomaster/openstack-ironic-conductor:5133d62a49a81fa0693a49067390b169-updated-20210105054322           /usr/bin/bootstra...  30 minutes ago  Exited (0) 29 minutes ago         create_swift_temp_url_key
~~~

4. Ironic templates have some references to swift temp urls in tht.

https://opendev.org/openstack/tripleo-heat-templates/src/branch/master/deployment/ironic/ironic-conductor-container-puppet.yaml#L546

~~~
openstack object store account set --property "Temp-URL-Key=$SWIFT_TEMP_URL_KEY"
~~~


## Questions:-

* By the end of this wallaby cycle, Will we make swift optional(we can still enable swift) or we will completely remove swift and turning it off is essential?
    * Based on above answer we will decide on whether we need to remove swift from all the tripleo ci jobs for master.
* Will standalone jobs provide some coverage to test this work?


## References

* [Spec to remove swift from undercloud](https://specs.openstack.org/openstack/tripleo-specs/specs/wallaby/excise-swift.html)
* [Etherpad with details](https://etherpad.opendev.org/p/tripleo-heat-swift-removal-undercloud)
* [Gerrit topic](https://review.opendev.org/q/topic:%22config-download%252Fswift%22+(status:open%20OR%20status:merged))