Andrew landed a change on master to allow the Openstack provider to
track state servers using metadata on the instances rather than
object-store. This should fix the bug I raised[0] but for one small
extra change needed, and gets us onto the next problem bootstrapping
with Dreamhost.

To try out juju on Dreamhost, need an account[1] (free trial
available), then configure environments.yaml with credentials,
remembering to use project-name for tenant-name rather than tenant-id.
I also added "default-series: trusty" and "network: private-network"
which aren't strictly required.

Then recompiled master with an additional patch[2] to make goose not
complain when there is no object-store in the keystone catalog.

Next step is generate image metadata for the trusty image given by
`nova image-list` which is the same as before:

$ juju metadata generate-image -i c55094e9-699c-4da9-95b4-2e2e75f4c66e -s trusty

Then bootstrap with --upload-tools and --metadata-source pointing at
the directory with the image streams.

That got as far as trying to connect, but instances only have an IPv6
and private 10. address by default. Juju did try to ssh to
2607:f298:6050:8af8:f816:3eff:fee3:2e94 but I'm not sure that code
path would actually work even if I had IPv6 routing from canonistack
to dreamhost.

Easy fix, add "use-floating-ip: true".

That gets us to the current problem though, which is the Dreamhost
image labelled "Ubuntu-14.04-Trusty" does not have an 'ubuntu' user.
Instead, the base user account is 'dhc-user' and cloud-init adds your
keys there. I can see three possible ways past this:

1) Get them to use our standard cloud images
2) Add config option to use a different username than ubuntu (ick)
3) Make the cloudconfig generation detect the lack of the ubuntu user and add it

Our centos path sort of does the last of these already, but we assume
all ubuntu versions are sanely set up.

Martin


[0] Openstack provider should work without object-store
<https://bugs.launchpad.net/juju-core/+bug/1456265>
[1] DreamCompute
<https://www.dreamhost.com/cloud/computing/>
[2] Patch needed to progress with bootstrap:
diff --git a/provider/openstack/provider.go b/provider/openstack/provider.go
index 4ba9a73..e84b5c9 100644
--- a/provider/openstack/provider.go
+++ b/provider/openstack/provider.go
@@ -770,7 +770,9 @@ func authClient(ecfg *environConfig) client.AuthenticatingCl
        if !ecfg.SSLHostnameVerification() {
                newClient = client.NewNonValidatingClient
        }
-       return newClient(cred, authMode, nil)
+       client := newClient(cred, authMode, nil)
+       client.SetRequiredServiceTypes([]string{"compute"})
+       return client
 }

-- 
Juju-dev mailing list
Juju-dev@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/juju-dev

Reply via email to