I have just setup a new Juju Openstack provider. I was using the docs at [1] to configure my environments.yaml but when I bootstrapped I got:
..
Launching instance
ERROR could not record instance in provider-state: cannot write file "provider-state" to control container "670565c74ecd456e83ea79367856cdf5": failed to PUT object provider-state from container 670565c74ecd456e83ea79367856cdf5
caused by: Resource at http://10.0.16.97:8080/v1/AUTH_a7875a629e4444b09fdeb9aa02cb669f/670565c74ecd456e83ea79367856cdf5/provider-state not found
caused by: request (http://10.0.16.97:8080/v1/AUTH_a7875a629e4444b09fdeb9aa02cb669f/670565c74ecd456e83ea79367856cdf5/provider-state) returned unexpected status: 404; error info: <html><h1>Not Found</h1><p>The resource could not be found.</p></html>
- 4178e296-762b-4a29-9961-10474637e5e9
Installing Juju agent on bootstrap instance
...
The bootstrap did complete successfully but apparently if you don't have control-bucket in your yaml it will fail to create a container at all.
The docs at [1] do not mention 'control-bucket' either and it was by looking at another environment that realised what i was missing.
[1] https://jujucharms.com/docs/stable/config-openstack
Which version of openstack are you using. control-bucket is not required for modern openstacks like HP. I still need control-buckets for older opentacks such as canonistack.