expose storage provisioning failures more clearly

Bug #1751909 reported by james beedy
14
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Canonical Juju
Triaged
Low
Unassigned

Bug Description

Deploying storage past a certain quantity fails to provision for some EBS types, but leaves the overall storage listed as "pending" rather than "error" or somehow conveying the failure without digging deeper.

1000 GB works fine https://paste.ubuntu.com/p/79KVkc2pjV/

but when I bump up the volume :) to 2000 GB we see the error https://paste.ubuntu.com/p/FX9qbmbQGQ/

Basically the instance just hangs, and no storage is created ... I can't find logs anywhere pertaining to this ...... seems a bug.

I can easily create larger volumes [0] from the aws console .... not really sure what is going on here .... juju wouldn't impose any sort of limit would it?

[0] https://imgur.com/a/vSmkq

EDIT:

Failed volume information starting on line 47942 of log posted in comment #3

Revision history for this message
james beedy (jamesbeedy) wrote :

I seem to be able to import larger filesystems just fine

$ juju import-filesystem ebs vol-0adf6e5d88f10e999 data
importing "vol-0adf6e5d88f10e999" from storage pool "ebs" as storage "data"
imported storage data/5

$ juju storage
[Storage]
Unit Id Type Pool Provider id Size Status Message
      data/5 filesystem ebs vol-0adf6e5d88f10e999 4.9TiB detached

description: updated
description: updated
description: updated
Revision history for this message
james beedy (jamesbeedy) wrote :

but alas, I still get a failure with the larger volume https://paste.ubuntu.com/p/zzYHGH2mNT/

Revision history for this message
james beedy (jamesbeedy) wrote :

juju controller machine-0.log | http://paste.ubuntu.com/p/6hd5JbxJ5W/

james beedy (jamesbeedy)
description: updated
james beedy (jamesbeedy)
description: updated
Revision history for this message
John A Meinel (jameinel) wrote :

I don't see an actual error in: https://paste.ubuntu.com/p/FX9qbmbQGQ/ is it just that machine 4 (for elasticsearch/4) stays in allocating?

Revision history for this message
james beedy (jamesbeedy) wrote :

@jameinel yeah ...... the other part is such that if you import the volume and attach it, it will hang and never attach.

Revision history for this message
Kevin W Monroe (kwmonroe) wrote :

What seems to be happening is that "--storage foo=ebs,2000G" defaults to the standard volume-type:

https://jujucharms.com/docs/2.3/charms-storage#aws/ebs-(ebs)

Which I suspect maps to the prev gen of EBS, which is limited to 1TB:

https://aws.amazon.com/ebs/previous-generation/

You can work around this by using the 'gp2' volume-type in a new storage pool:

juju create-storage-pool mybytes ebs volume-type=gp2

And then deploy like:

juju deploy postgresql --storage pgdata=mybytes,2000G

So what I think needs to happen to really fix this bug is either:

a) change our default ebs volume-type to 'gp2'
b) capture some error at the aws provider, hopefully telling us why 2TB is not available with prev-gen ebs, and display that to the user (versus our current UX of keeping the unit in 'waiting' forever).

Revision history for this message
Kevin W Monroe (kwmonroe) wrote :

Also worth noting.. gp2 is probably the same as the default juju "ebs-ssd" storage pool, meaning you might be able to do the following without creating a new pool:

juju deploy postgresql --storage pgdata=ebs-ssd,2000G

I'm not sure how you'd get a magnetic pool > 1TB; perhaps a new ebs pool with "volume-type=[st1|sc1]"?

https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html

Revision history for this message
Kevin W Monroe (kwmonroe) wrote :

Oh mylanta, we *do* expose an error... It's not obvious at first:

$ juju storage
[Storage]
Unit Id Type Pool Provider id Size Status Message
postgresql/0 pgdata/0 filesystem pending

But you can see it with the --volume flag:

$ juju storage --volume
[Volumes]
Machine Unit Storage Id Provider Id Device Size State Message
0 postgresql/0 pgdata/0 0 error volume size 2000 GiB exceeds the maximum of 1024 GiB

How about we set the storage status to something besides 'pending' if the underlying volume is in 'error'?

Revision history for this message
james beedy (jamesbeedy) wrote :

@kwmonroe "How about we set the storage status to something besides 'pending' if the underlying volume is in 'error'?:" - 100%

"volume-type=[st1|sc1]" - dreaming! possibly a new bug for the support of st1 and sc1?

Revision history for this message
james beedy (jamesbeedy) wrote :

Filed this https://bugs.launchpad.net/juju/+bug/1753593 in support of st1, sc1, and io1.

John A Meinel (jameinel)
summary: - turn up the volume - artificial quotas?
+ expose storage provisioning failures more clearly
Changed in juju:
status: New → Triaged
importance: Undecided → Medium
tags: added: observability storage usability
description: updated
Revision history for this message
Canonical Juju QA Bot (juju-qa-bot) wrote :

This bug has not been updated in 2 years, so we're marking it Low importance. If you believe this is incorrect, please update the importance.

Changed in juju:
importance: Medium → Low
tags: added: expirebugs-bot
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.