kapilt / juju-digitalocean

JuDo - A juju provider for digital ocean using a client side plugin and manual provisioning.
111 stars 17 forks source link

arch constraint not supported? #17

Closed 0vermind closed 10 years ago

0vermind commented 10 years ago

When I bootstrap with the constraint arch i get this error: (juju-docean)android@localhost:~/.ssh$ juju docean bootstrap --constraints="mem=512M, region=ams2, arch=amd64" -v Traceback (most recent call last): File "/home/android/venvs/juju-docean/bin/juju-docean", line 9, in load_entry_point('juju-docean==0.2.2', 'console_scripts', 'juju-docean')() File "/home/android/venvs/juju-docean/local/lib/python2.7/site-packages/juju_docean/cli.py", line 100, in main cmd.run() File "/home/android/venvs/juju-docean/local/lib/python2.7/site-packages/juju_docean/commands.py", line 76, in run image, size, region = self.solve_constraints() File "/home/android/venvs/juju-docean/local/lib/python2.7/site-packages/juju_docean/commands.py", line 24, in solve_constraints size, region = solve_constraints(self.config.constraints) File "/home/android/venvs/juju-docean/local/lib/python2.7/site-packages/juju_docean/constraints.py", line 117, in solve_constraints constraints = parse_constraints(constraints) File "/home/android/venvs/juju-docean/local/lib/python2.7/site-packages/juju_docean/constraints.py", line 76, in parse_constraints raise ConstraintError("Unknown constraints %s" % (" ".join(unknown))) juju_docean.exceptions.ConstraintError: Unknown constraints arch ERROR exit status 1

kapilt commented 10 years ago

added arch as valid constraint. but waiting for confirmation that this addresses cross arch bootstrapping.

0vermind commented 10 years ago

Now I get: Traceback (most recent call last): File "/home/android/venvs/juju-docean/bin/juju-docean", line 9, in load_entry_point('juju-docean==0.2.2', 'console_scripts', 'juju-docean')() File "/home/android/venvs/juju-docean/local/lib/python2.7/site-packages/juju_docean/cli.py", line 100, in main cmd.run() File "/home/android/venvs/juju-docean/local/lib/python2.7/site-packages/juju_docean/commands.py", line 76, in run image, size, region = self.solve_constraints() File "/home/android/venvs/juju-docean/local/lib/python2.7/site-packages/juju_docean/commands.py", line 24, in solve_constraints size, region = solve_constraints(self.config.constraints) File "/home/android/venvs/juju-docean/local/lib/python2.7/site-packages/juju_docean/constraints.py", line 133, in solve_constraints ", ".join(["%s=%s" % (k, v in constraints.items())]))) juju_docean.exceptions.ConstraintError: Could not match constraints arch=False ERROR exit status 1

0vermind commented 10 years ago

Now I get: Traceback (most recent call last): File "/home/android/venvs/juju-docean/bin/juju-docean", line 9, in load_entry_point('juju-docean==0.2.2', 'console_scripts', 'juju-docean')() File "/home/android/venvs/juju-docean/local/lib/python2.7/site-packages/juju_docean/cli.py", line 100, in main cmd.run() File "/home/android/venvs/juju-docean/local/lib/python2.7/site-packages/juju_docean/commands.py", line 76, in run image, size, region = self.solve_constraints() File "/home/android/venvs/juju-docean/local/lib/python2.7/site-packages/juju_docean/commands.py", line 24, in solve_constraints size, region = solve_constraints(self.config.constraints) File "/home/android/venvs/juju-docean/local/lib/python2.7/site-packages/juju_docean/constraints.py", line 133, in solve_constraints ", ".join(["%s=%s" % (k, v in constraints.items())]))) juju_docean.exceptions.ConstraintError: Could not match constraints arch=False ERROR exit status 1

0vermind commented 10 years ago

Got this: 2014/04/01 20:35.39:INFO Launching bootstrap host 2014/04/01 20:36.05:DEBUG Waiting on instance digitalocean-0 0% 2014/04/01 20:36.20:DEBUG Waiting on instance digitalocean-0 0% 2014/04/01 20:36.29:DEBUG Waiting on instance digitalocean-0 0% 2014/04/01 20:36.39:DEBUG Waiting on instance digitalocean-0 0% 2014/04/01 20:36.49:DEBUG Waiting on instance digitalocean-0 0% 2014/04/01 20:36.59:DEBUG Waiting on instance digitalocean-0 0% 2014/04/01 20:37.08:DEBUG Waiting on instance digitalocean-0 0% 2014/04/01 20:37.17:DEBUG Waiting on instance digitalocean-0 0% 2014/04/01 20:37.27:DEBUG Waiting on instance digitalocean-0 0% 2014/04/01 20:37.36:DEBUG Waiting on instance digitalocean-0 0% 2014/04/01 20:37.36:DEBUG Diagnostics on instance digitalocean-0 event {u'status': u'OK', u'event': {u'event_type_id': 1, u'percentage': None, u'droplet_id': 1392453, u'id': 20286156, u'action_status': None}} 2014/04/01 20:37.46:DEBUG Waiting on instance digitalocean-0 0% 2014/04/01 20:37.46:DEBUG Diagnostics on instance digitalocean-0 event {u'status': u'OK', u'event': {u'event_type_id': 1, u'percentage': None, u'droplet_id': 1392453, u'id': 20286156, u'action_status': None}} 2014/04/01 20:37.55:DEBUG Waiting on instance digitalocean-0 0% 2014/04/01 20:37.55:DEBUG Diagnostics on instance digitalocean-0 event {u'status': u'OK', u'event': {u'event_type_id': 1, u'percentage': None, u'droplet_id': 1392453, u'id': 20286156, u'action_status': None}} 2014/04/01 20:38.05:DEBUG Waiting on instance digitalocean-0 0% 2014/04/01 20:38.05:DEBUG Diagnostics on instance digitalocean-0 event {u'status': u'OK', u'event': {u'event_type_id': 1, u'percentage': None, u'droplet_id': 1392453, u'id': 20286156, u'action_status': None}} 2014/04/01 20:38.14:DEBUG Waiting on instance digitalocean-0 0% 2014/04/01 20:38.14:DEBUG Diagnostics on instance digitalocean-0 event {u'status': u'OK', u'event': {u'event_type_id': 1, u'percentage': None, u'droplet_id': 1392453, u'id': 20286156, u'action_status': None}} 2014/04/01 20:38.24:DEBUG Waiting on instance digitalocean-0 0% 2014/04/01 20:38.24:DEBUG Diagnostics on instance digitalocean-0 event {u'status': u'OK', u'event': {u'event_type_id': 1, u'percentage': None, u'droplet_id': 1392453, u'id': 20286156, u'action_status': None}} 2014/04/01 20:38.33:DEBUG Waiting on instance digitalocean-0 0% 2014/04/01 20:38.33:DEBUG Diagnostics on instance digitalocean-0 event {u'status': u'OK', u'event': {u'event_type_id': 1, u'percentage': None, u'droplet_id': 1392453, u'id': 20286156, u'action_status': None}} 2014/04/01 20:38.43:DEBUG Waiting on instance digitalocean-0 0% 2014/04/01 20:38.43:DEBUG Diagnostics on instance digitalocean-0 event {u'status': u'OK', u'event': {u'event_type_id': 1, u'percentage': None, u'droplet_id': 1392453, u'id': 20286156, u'action_status': None}} 2014/04/01 20:38.53:DEBUG Waiting on instance digitalocean-0 0% 2014/04/01 20:38.53:DEBUG Diagnostics on instance digitalocean-0 event {u'status': u'OK', u'event': {u'event_type_id': 1, u'percentage': None, u'droplet_id': 1392453, u'id': 20286156, u'action_status': None}} 2014/04/01 20:39.03:DEBUG Waiting on instance digitalocean-0 0% 2014/04/01 20:39.03:DEBUG Diagnostics on instance digitalocean-0 event {u'status': u'OK', u'event': {u'event_type_id': 1, u'percentage': None, u'droplet_id': 1392453, u'id': 20286156, u'action_status': None}} 2014/04/01 20:39.12:DEBUG Waiting on instance digitalocean-0 0% 2014/04/01 20:39.12:DEBUG Diagnostics on instance digitalocean-0 event {u'status': u'OK', u'event': {u'event_type_id': 1, u'percentage': None, u'droplet_id': 1392453, u'id': 20286156, u'action_status': None}} 2014/04/01 20:39.22:DEBUG Waiting on instance digitalocean-0 0% 2014/04/01 20:39.22:DEBUG Diagnostics on instance digitalocean-0 event {u'status': u'OK', u'event': {u'event_type_id': 1, u'percentage': None, u'droplet_id': 1392453, u'id': 20286156, u'action_status': None}} 2014/04/01 20:39.32:DEBUG Waiting on instance digitalocean-0 0% 2014/04/01 20:39.32:DEBUG Diagnostics on instance digitalocean-0 event {u'status': u'OK', u'event': {u'event_type_id': 1, u'percentage': None, u'droplet_id': 1392453, u'id': 20286156, u'action_status': None}} 2014/04/01 20:39.42:DEBUG Waiting on instance digitalocean-0 0% 2014/04/01 20:39.42:DEBUG Diagnostics on instance digitalocean-0 event {u'status': u'OK', u'event': {u'event_type_id': 1, u'percentage': None, u'droplet_id': 1392453, u'id': 20286156, u'action_status': None}} 2014/04/01 20:39.52:DEBUG Waiting on instance digitalocean-0 0% 2014/04/01 20:39.52:DEBUG Diagnostics on instance digitalocean-0 event {u'status': u'OK', u'event': {u'event_type_id': 1, u'percentage': None, u'droplet_id': 1392453, u'id': 20286156, u'action_status': None}} 2014/04/01 20:40.02:DEBUG Waiting on instance digitalocean-0 0% 2014/04/01 20:40.02:DEBUG Diagnostics on instance digitalocean-0 event {u'status': u'OK', u'event': {u'event_type_id': 1, u'percentage': None, u'droplet_id': 1392453, u'id': 20286156, u'action_status': None}} 2014/04/01 20:40.12:DEBUG Waiting on instance digitalocean-0 0% 2014/04/01 20:40.12:DEBUG Diagnostics on instance digitalocean-0 event {u'status': u'OK', u'event': {u'event_type_id': 1, u'percentage': None, u'droplet_id': 1392453, u'id': 20286156, u'action_status': None}} 2014/04/01 20:40.22:DEBUG Waiting on instance digitalocean-0 0% 2014/04/01 20:40.22:DEBUG Diagnostics on instance digitalocean-0 event {u'status': u'OK', u'event': {u'event_type_id': 1, u'percentage': None, u'droplet_id': 1392453, u'id': 20286156, u'action_status': None}} Traceback (most recent call last): File "/home/android/venvs/juju-docean/bin/juju-docean", line 9, in load_entry_point('juju-docean==0.2.2', 'console_scripts', 'juju-docean')() File "/home/android/venvs/juju-docean/local/lib/python2.7/site-packages/juju_docean/cli.py", line 100, in main cmd.run() File "/home/android/venvs/juju-docean/local/lib/python2.7/site-packages/juju_docean/commands.py", line 84, in run instance = op.run() File "/home/android/venvs/juju-docean/local/lib/python2.7/site-packages/juju_docean/ops.py", line 31, in run self.provider.wait_on(instance) File "/home/android/venvs/juju-docean/local/lib/python2.7/site-packages/juju_docean/provider.py", line 76, in wait_on return self._wait_on(instance.event_id, instance.name) File "/home/android/venvs/juju-docean/local/lib/python2.7/site-packages/juju_docean/provider.py", line 105, in _wait_on name, result)) juju_docean.exceptions.ProviderError: Failed to get running instance digitalocean-0 event: {u'status': u'OK', u'event': {u'event_type_id': 1, u'percentage': None, u'droplet_id': 1392453, u'id': 20286156, u'action_status': None}} ERROR exit status 1

Now I have a droplet stuck in new status with no way to destroy it.

kapilt commented 10 years ago

verified that this is a digital ocean issue, their basically broken atm. support for specifying arch was added to git, its ignored when using juju, on the assumption that manual provider should auto-detect the host.

On Tue, Apr 1, 2014 at 8:48 AM, 0vermind notifications@github.com wrote:

Got this: 2014/04/01 20:35.39:INFO Launching bootstrap host 2014/04/01 20:36.05:DEBUG Waiting on instance digitalocean-0 0% 2014/04/01 20:36.20:DEBUG Waiting on instance digitalocean-0 0% 2014/04/01 20:36.29:DEBUG Waiting on instance digitalocean-0 0% 2014/04/01 20:36.39:DEBUG Waiting on instance digitalocean-0 0% 2014/04/01 20:36.49:DEBUG Waiting on instance digitalocean-0 0% 2014/04/01 20:36.59:DEBUG Waiting on instance digitalocean-0 0% 2014/04/01 20:37.08:DEBUG Waiting on instance digitalocean-0 0% 2014/04/01 20:37.17:DEBUG Waiting on instance digitalocean-0 0% 2014/04/01 20:37.27:DEBUG Waiting on instance digitalocean-0 0% 2014/04/01 20:37.36:DEBUG Waiting on instance digitalocean-0 0% 2014/04/01 20:37.36:DEBUG Diagnostics on instance digitalocean-0 event {u'status': u'OK', u'event': {u'event_type_id': 1, u'percentage': None, u'droplet_id': 1392453, u'id': 20286156, u'action_status': None}} 2014/04/01 20:37.46:DEBUG Waiting on instance digitalocean-0 0% 2014/04/01 20:37.46:DEBUG Diagnostics on instance digitalocean-0 event {u'status': u'OK', u'event': {u'event_type_id': 1, u'percentage': None, u'droplet_id': 1392453, u'id': 20286156, u'action_status': None}} 2014/04/01 20:37.55:DEBUG Waiting on instance digitalocean-0 0% 2014/04/01 20:37.55:DEBUG Diagnostics on instance digitalocean-0 event {u'status': u'OK', u'event': {u'event_type_id': 1, u'percentage': None, u'droplet_id': 1392453, u'id': 20286156, u'action_status': None}} 2014/04/01 20:38.05:DEBUG Waiting on instance digitalocean-0 0% 2014/04/01 20:38.05:DEBUG Diagnostics on instance digitalocean-0 event {u'status': u'OK', u'event': {u'event_type_id': 1, u'percentage': None, u'droplet_id': 1392453, u'id': 20286156, u'action_status': None}} 2014/04/01 20:38.14:DEBUG Waiting on instance digitalocean-0 0% 2014/04/01 20:38.14:DEBUG Diagnostics on instance digitalocean-0 event {u'status': u'OK', u'event': {u'event_type_id': 1, u'percentage': None, u'droplet_id': 1392453, u'id': 20286156, u'action_status': None}} 2014/04/01 20:38.24:DEBUG Waiting on instance digitalocean-0 0% 2014/04/01 20:38.24:DEBUG Diagnostics on instance digitalocean-0 event {u'status': u'OK', u'event': {u'event_type_id': 1, u'percentage': None, u'droplet_id': 1392453, u'id': 20286156, u'action_status': None}} 2014/04/01 20:38.33:DEBUG Waiting on instance digitalocean-0 0% 2014/04/01 20:38.33:DEBUG Diagnostics on instance digitalocean-0 event {u'status': u'OK', u'event': {u'event_type_id': 1, u'percentage': None, u'droplet_id': 1392453, u'id': 20286156, u'action_status': None}} 2014/04/01 20:38.43:DEBUG Waiting on instance digitalocean-0 0% 2014/04/01 20:38.43:DEBUG Diagnostics on instance digitalocean-0 event {u'status': u'OK', u'event': {u'event_type_id': 1, u'percentage': None, u'droplet_id': 1392453, u'id': 20286156, u'action_status': None}} 2014/04/01 20:38.53:DEBUG Waiting on instance digitalocean-0 0% 2014/04/01 20:38.53:DEBUG Diagnostics on instance digitalocean-0 event {u'status': u'OK', u'event': {u'event_type_id': 1, u'percentage': None, u'droplet_id': 1392453, u'id': 20286156, u'action_status': None}} 2014/04/01 20:39.03:DEBUG Waiting on instance digitalocean-0 0% 2014/04/01 20:39.03:DEBUG Diagnostics on instance digitalocean-0 event {u'status': u'OK', u'event': {u'event_type_id': 1, u'percentage': None, u'droplet_id': 1392453, u'id': 20286156, u'action_status': None}} 2014/04/01 20:39.12:DEBUG Waiting on instance digitalocean-0 0% 2014/04/01 20:39.12:DEBUG Diagnostics on instance digitalocean-0 event {u'status': u'OK', u'event': {u'event_type_id': 1, u'percentage': None, u'droplet_id': 1392453, u'id': 20286156, u'action_status': None}} 2014/04/01 20:39.22:DEBUG Waiting on instance digitalocean-0 0% 2014/04/01 20:39.22:DEBUG Diagnostics on instance digitalocean-0 event {u'status': u'OK', u'event': {u'event_type_id': 1, u'percentage': None, u'droplet_id': 1392453, u'id': 20286156, u'action_status': None}} 2014/04/01 20:39.32:DEBUG Waiting on instance digitalocean-0 0% 2014/04/01 20:39.32:DEBUG Diagnostics on instance digitalocean-0 event {u'status': u'OK', u'event': {u'event_type_id': 1, u'percentage': None, u'droplet_id': 1392453, u'id': 20286156, u'action_status': None}} 2014/04/01 20:39.42:DEBUG Waiting on instance digitalocean-0 0% 2014/04/01 20:39.42:DEBUG Diagnostics on instance digitalocean-0 event {u'status': u'OK', u'event': {u'event_type_id': 1, u'percentage': None, u'droplet_id': 1392453, u'id': 20286156, u'action_status': None}} 2014/04/01 20:39.52:DEBUG Waiting on instance digitalocean-0 0% 2014/04/01 20:39.52:DEBUG Diagnostics on instance digitalocean-0 event {u'status': u'OK', u'event': {u'event_type_id': 1, u'percentage': None, u'droplet_id': 1392453, u'id': 20286156, u'action_status': None}} 2014/04/01 20:40.02:DEBUG Waiting on instance digitalocean-0 0% 2014/04/01 20:40.02:DEBUG Diagnostics on instance digitalocean-0 event {u'status': u'OK', u'event': {u'event_type_id': 1, u'percentage': None, u'droplet_id': 1392453, u'id': 20286156, u'action_status': None}} 2014/04/01 20:40.12:DEBUG Waiting on instance digitalocean-0 0% 2014/04/01 20:40.12:DEBUG Diagnostics on instance digitalocean-0 event {u'status': u'OK', u'event': {u'event_type_id': 1, u'percentage': None, u'droplet_id': 1392453, u'id': 20286156, u'action_status': None}} 2014/04/01 20:40.22:DEBUG Waiting on instance digitalocean-0 0% 2014/04/01 20:40.22:DEBUG Diagnostics on instance digitalocean-0 event {u'status': u'OK', u'event': {u'event_type_id': 1, u'percentage': None, u'droplet_id': 1392453, u'id': 20286156, u'action_status': None}}

Traceback (most recent call last): File "/home/android/venvs/juju-docean/bin/juju-docean", line 9, in load_entry_point('juju-docean==0.2.2', 'console_scripts', 'juju-docean')() File "/home/android/venvs/juju-docean/local/lib/python2.7/site-packages/juju_docean/cli.py", line 100, in main cmd.run() File "/home/android/venvs/juju-docean/local/lib/python2.7/site-packages/juju_docean/commands.py", line 84, in run instance = op.run() File "/home/android/venvs/juju-docean/local/lib/python2.7/site-packages/juju_docean/ops.py", line 31, in run self.provider.wait_on(instance) File "/home/android/venvs/juju-docean/local/lib/python2.7/site-packages/juju_docean/provider.py", line 76, in wait_on return self._wait_on(instance.event_id, instance.name) File "/home/android/venvs/juju-docean/local/lib/python2.7/site-packages/juju_docean/provider.py", line 105, in _wait_on name, result)) juju_docean.exceptions.ProviderError: Failed to get running instance digitalocean-0 event: {u'status': u'OK', u'event': {u'event_type_id': 1, u'percentage': None, u'droplet_id': 1392453, u'id': 20286156, u'action_status': None}} ERROR exit status 1

Now I have a droplet stuck in new status with no way to destroy it.

Reply to this email directly or view it on GitHubhttps://github.com/kapilt/juju-digitalocean/issues/17#issuecomment-39200782 .

kapilt commented 10 years ago

closing this out it will be in 0.2.3.. but to be clear this is just the plugin processing and ignoring the arch correctly, juju should be doing the right thing under the hood for this (detecting arch on the target machine via ssh), as the machine is already provisioned before it sees it.