2019-12-04 20:41:04 |
Dmitrii Shcherbakov |
bug |
|
|
added bug |
2019-12-04 20:44:21 |
Dmitrii Shcherbakov |
description |
juju remove-application --force test
removing application test failed: BlockStorage instance not implemented
storage:
database:
type: filesystem
location: /srv/mysql
backup:
type: block
multiple:
range: 0-
stash:
type: block
multiple:
range: 0-
juju deploy ./ test --storage 'database=tmpfs,100M backup=loop,100M stash=loop,100M'
juju remove-application --force test
removing application test failed: BlockStorage instance not implemented |
juju remove-application --force test
removing application test failed: BlockStorage instance not implemented
storage:
database:
type: filesystem
location: /srv/mysql
backup:
type: block
multiple:
range: 0-
stash:
type: block
multiple:
range: 0-
juju deploy ./ test --storage 'database=tmpfs,100M backup=loop,100M stash=loop,100M'
# from bash history
juju run --unit test/0 'storage-list'
juju run --unit test/0 'storage-add backup count=1'
juju run --unit test/0 'storage-list'
juju remove-application --force test
juju remove-application --force test
removing application test failed: BlockStorage instance not implemented |
|
2019-12-04 20:44:28 |
Dmitrii Shcherbakov |
description |
juju remove-application --force test
removing application test failed: BlockStorage instance not implemented
storage:
database:
type: filesystem
location: /srv/mysql
backup:
type: block
multiple:
range: 0-
stash:
type: block
multiple:
range: 0-
juju deploy ./ test --storage 'database=tmpfs,100M backup=loop,100M stash=loop,100M'
# from bash history
juju run --unit test/0 'storage-list'
juju run --unit test/0 'storage-add backup count=1'
juju run --unit test/0 'storage-list'
juju remove-application --force test
juju remove-application --force test
removing application test failed: BlockStorage instance not implemented |
juju remove-application --force test
removing application test failed: BlockStorage instance not implemented
storage:
database:
type: filesystem
location: /srv/mysql
backup:
type: block
multiple:
range: 0-
stash:
type: block
multiple:
range: 0-
# from bash history
juju run --unit test/0 'storage-list'
juju run --unit test/0 'storage-add backup count=1'
juju run --unit test/0 'storage-list'
juju remove-application --force test
juju remove-application --force test
removing application test failed: BlockStorage instance not implemented |
|
2019-12-04 20:44:53 |
Dmitrii Shcherbakov |
description |
juju remove-application --force test
removing application test failed: BlockStorage instance not implemented
storage:
database:
type: filesystem
location: /srv/mysql
backup:
type: block
multiple:
range: 0-
stash:
type: block
multiple:
range: 0-
# from bash history
juju run --unit test/0 'storage-list'
juju run --unit test/0 'storage-add backup count=1'
juju run --unit test/0 'storage-list'
juju remove-application --force test
juju remove-application --force test
removing application test failed: BlockStorage instance not implemented |
juju remove-application --force test
removing application test failed: BlockStorage instance not implemented
storage:
database:
type: filesystem
location: /srv/mysql
backup:
type: block
multiple:
range: 0-
stash:
type: block
multiple:
range: 0-
# from bash history
juju deploy ./ test0 --storage 'database=tmpfs,100M backup=loop,100M stash=loop,100M'
juju run --unit test/0 'storage-list'
juju run --unit test/0 'storage-add backup count=1'
juju run --unit test/0 'storage-list'
juju remove-application --force test
juju remove-application --force test
removing application test failed: BlockStorage instance not implemented |
|
2019-12-05 09:31:48 |
Dmitrii Shcherbakov |
description |
juju remove-application --force test
removing application test failed: BlockStorage instance not implemented
storage:
database:
type: filesystem
location: /srv/mysql
backup:
type: block
multiple:
range: 0-
stash:
type: block
multiple:
range: 0-
# from bash history
juju deploy ./ test0 --storage 'database=tmpfs,100M backup=loop,100M stash=loop,100M'
juju run --unit test/0 'storage-list'
juju run --unit test/0 'storage-add backup count=1'
juju run --unit test/0 'storage-list'
juju remove-application --force test
juju remove-application --force test
removing application test failed: BlockStorage instance not implemented |
juju remove-application --force test
removing application test failed: BlockStorage instance not implemented
storage:
database:
type: filesystem
location: /srv/mysql
backup:
type: block
multiple:
range: 0-
stash:
type: block
multiple:
range: 0-
# from bash history
juju deploy ./ test0 --storage 'database=tmpfs,100M backup=loop,100M stash=loop,100M'
juju run --unit test/0 'storage-list'
juju run --unit test/0 'storage-add backup count=1'
juju run --unit test/0 'storage-list'
juju remove-application --force test
juju remove-application --force test
removing application test failed: BlockStorage instance not implemented
---------------
The root cause seems to be that Juju allows this situation to happen in the first place by not properly validating storage constraints:
1) When backup=loop,100M is used to deploy a k8s charm without any file system storage the error is present at the deploy time;
2) when both file system storage and block storage constraints are present, the error is not thrown:
'database-a=tmpfs,100M database-b=tmpfs,100M database-c=tmpfs,100M backup=loop,100M stash=loop,100M'
1)
juju deploy ./ test --storage 'backup=loop,100M stash=loop,100M' --debug
12:28:37 INFO juju.cmd supercommand.go:80 running juju [2.7.0 gc go1.10.4]
12:28:37 DEBUG juju.cmd supercommand.go:81 args: []string{"/snap/juju/9876/bin/juju", "deploy", "./", "test", "--storage", "backup=loop,100M stash=loop,100M", "--debug"}
12:28:37 INFO juju.juju api.go:67 connecting to API addresses: [10.152.183.208:17070]
12:28:37 DEBUG juju.api apiclient.go:1092 successfully dialed "wss://10.152.183.208:17070/model/63509cbd-79bb-4138-87c0-1f3faa56d528/api"
12:28:37 INFO juju.api apiclient.go:624 connection established to "wss://10.152.183.208:17070/model/63509cbd-79bb-4138-87c0-1f3faa56d528/api"
12:28:37 INFO juju.juju api.go:67 connecting to API addresses: [10.152.183.208:17070]
12:28:37 DEBUG juju.api apiclient.go:1092 successfully dialed "wss://10.152.183.208:17070/api"
12:28:37 INFO juju.api apiclient.go:624 connection established to "wss://10.152.183.208:17070/api"
12:28:37 DEBUG httpbakery client.go:243 client do POST https://10.152.183.208:17070/model/63509cbd-79bb-4138-87c0-1f3faa56d528/charms?revision=0&schema=local&series=kubernetes {
12:28:38 DEBUG httpbakery client.go:245 } -> error <nil>
12:28:38 INFO cmd deploy.go:1460 Deploying charm "local:kubernetes/wordpress-0".
12:28:38 DEBUG juju.api monitor.go:35 RPC connection died
ERROR getting workload storage params for "test": storage provider "loop" not valid
12:28:38 DEBUG cmd supercommand.go:519 error stack:
getting workload storage params for "test": storage provider "loop" not valid
/build/juju/parts/juju/go/src/github.com/juju/juju/api/application/client.go:161:
/build/juju/parts/juju/go/src/github.com/juju/juju/cmd/juju/application/deploy.go:258:
/build/juju/parts/juju/go/src/github.com/juju/juju/cmd/juju/application/deploy.go:1149:
/build/juju/parts/juju/go/src/github.com/juju/juju/cmd/juju/application/deploy.go:1461:
2)
juju deploy ./ test --storage 'database-a=tmpfs,100M database-b=tmpfs,100M database-c=tmpfs,100M backup=loop,100M stash=loop,100M' --debug
12:28:54 INFO juju.cmd supercommand.go:80 running juju [2.7.0 gc go1.10.4]
12:28:54 DEBUG juju.cmd supercommand.go:81 args: []string{"/snap/juju/9876/bin/juju", "deploy", "./", "test", "--storage", "database-a=tmpfs,100M database-b=tmpfs,100M database-c=tmpfs,100M backup=loop,100M stash=loop,100M", "--debug"}
12:28:54 INFO juju.juju api.go:67 connecting to API addresses: [10.152.183.208:17070]
12:28:54 DEBUG juju.api apiclient.go:1092 successfully dialed "wss://10.152.183.208:17070/model/63509cbd-79bb-4138-87c0-1f3faa56d528/api"
12:28:54 INFO juju.api apiclient.go:624 connection established to "wss://10.152.183.208:17070/model/63509cbd-79bb-4138-87c0-1f3faa56d528/api"
12:28:54 INFO juju.juju api.go:67 connecting to API addresses: [10.152.183.208:17070]
12:28:54 DEBUG juju.api apiclient.go:1092 successfully dialed "wss://10.152.183.208:17070/api"
12:28:54 INFO juju.api apiclient.go:624 connection established to "wss://10.152.183.208:17070/api"
12:28:54 DEBUG httpbakery client.go:243 client do POST https://10.152.183.208:17070/model/63509cbd-79bb-4138-87c0-1f3faa56d528/charms?revision=0&schema=local&series=kubernetes {
12:28:55 DEBUG httpbakery client.go:245 } -> error <nil>
12:28:55 INFO cmd deploy.go:1460 Deploying charm "local:kubernetes/wordpress-1".
12:28:56 DEBUG juju.api monitor.go:35 RPC connection died
12:28:56 INFO cmd supercommand.go:525 command finished
cat metadata.yaml
name: wordpress
summary: WordPress
maintainer: Operator Framework Developers https://github.com/canonical/operator/graphs/contributors
description: |
WordPress CMS charm.
tags:
- blog
series:
- kubernetes
requires:
db:
interface: mysql
storage:
database-a:
type: filesystem
location: /srv/mysqla
database-b:
type: filesystem
location: /srv/mysqlb
database-c:
type: filesystem
location: /srv/mysqlc
backup:
type: block
multiple:
range: 0-
stash:
type: block
multiple:
range: 0- |
|
2019-12-05 09:47:21 |
Dmitrii Shcherbakov |
description |
juju remove-application --force test
removing application test failed: BlockStorage instance not implemented
storage:
database:
type: filesystem
location: /srv/mysql
backup:
type: block
multiple:
range: 0-
stash:
type: block
multiple:
range: 0-
# from bash history
juju deploy ./ test0 --storage 'database=tmpfs,100M backup=loop,100M stash=loop,100M'
juju run --unit test/0 'storage-list'
juju run --unit test/0 'storage-add backup count=1'
juju run --unit test/0 'storage-list'
juju remove-application --force test
juju remove-application --force test
removing application test failed: BlockStorage instance not implemented
---------------
The root cause seems to be that Juju allows this situation to happen in the first place by not properly validating storage constraints:
1) When backup=loop,100M is used to deploy a k8s charm without any file system storage the error is present at the deploy time;
2) when both file system storage and block storage constraints are present, the error is not thrown:
'database-a=tmpfs,100M database-b=tmpfs,100M database-c=tmpfs,100M backup=loop,100M stash=loop,100M'
1)
juju deploy ./ test --storage 'backup=loop,100M stash=loop,100M' --debug
12:28:37 INFO juju.cmd supercommand.go:80 running juju [2.7.0 gc go1.10.4]
12:28:37 DEBUG juju.cmd supercommand.go:81 args: []string{"/snap/juju/9876/bin/juju", "deploy", "./", "test", "--storage", "backup=loop,100M stash=loop,100M", "--debug"}
12:28:37 INFO juju.juju api.go:67 connecting to API addresses: [10.152.183.208:17070]
12:28:37 DEBUG juju.api apiclient.go:1092 successfully dialed "wss://10.152.183.208:17070/model/63509cbd-79bb-4138-87c0-1f3faa56d528/api"
12:28:37 INFO juju.api apiclient.go:624 connection established to "wss://10.152.183.208:17070/model/63509cbd-79bb-4138-87c0-1f3faa56d528/api"
12:28:37 INFO juju.juju api.go:67 connecting to API addresses: [10.152.183.208:17070]
12:28:37 DEBUG juju.api apiclient.go:1092 successfully dialed "wss://10.152.183.208:17070/api"
12:28:37 INFO juju.api apiclient.go:624 connection established to "wss://10.152.183.208:17070/api"
12:28:37 DEBUG httpbakery client.go:243 client do POST https://10.152.183.208:17070/model/63509cbd-79bb-4138-87c0-1f3faa56d528/charms?revision=0&schema=local&series=kubernetes {
12:28:38 DEBUG httpbakery client.go:245 } -> error <nil>
12:28:38 INFO cmd deploy.go:1460 Deploying charm "local:kubernetes/wordpress-0".
12:28:38 DEBUG juju.api monitor.go:35 RPC connection died
ERROR getting workload storage params for "test": storage provider "loop" not valid
12:28:38 DEBUG cmd supercommand.go:519 error stack:
getting workload storage params for "test": storage provider "loop" not valid
/build/juju/parts/juju/go/src/github.com/juju/juju/api/application/client.go:161:
/build/juju/parts/juju/go/src/github.com/juju/juju/cmd/juju/application/deploy.go:258:
/build/juju/parts/juju/go/src/github.com/juju/juju/cmd/juju/application/deploy.go:1149:
/build/juju/parts/juju/go/src/github.com/juju/juju/cmd/juju/application/deploy.go:1461:
2)
juju deploy ./ test --storage 'database-a=tmpfs,100M database-b=tmpfs,100M database-c=tmpfs,100M backup=loop,100M stash=loop,100M' --debug
12:28:54 INFO juju.cmd supercommand.go:80 running juju [2.7.0 gc go1.10.4]
12:28:54 DEBUG juju.cmd supercommand.go:81 args: []string{"/snap/juju/9876/bin/juju", "deploy", "./", "test", "--storage", "database-a=tmpfs,100M database-b=tmpfs,100M database-c=tmpfs,100M backup=loop,100M stash=loop,100M", "--debug"}
12:28:54 INFO juju.juju api.go:67 connecting to API addresses: [10.152.183.208:17070]
12:28:54 DEBUG juju.api apiclient.go:1092 successfully dialed "wss://10.152.183.208:17070/model/63509cbd-79bb-4138-87c0-1f3faa56d528/api"
12:28:54 INFO juju.api apiclient.go:624 connection established to "wss://10.152.183.208:17070/model/63509cbd-79bb-4138-87c0-1f3faa56d528/api"
12:28:54 INFO juju.juju api.go:67 connecting to API addresses: [10.152.183.208:17070]
12:28:54 DEBUG juju.api apiclient.go:1092 successfully dialed "wss://10.152.183.208:17070/api"
12:28:54 INFO juju.api apiclient.go:624 connection established to "wss://10.152.183.208:17070/api"
12:28:54 DEBUG httpbakery client.go:243 client do POST https://10.152.183.208:17070/model/63509cbd-79bb-4138-87c0-1f3faa56d528/charms?revision=0&schema=local&series=kubernetes {
12:28:55 DEBUG httpbakery client.go:245 } -> error <nil>
12:28:55 INFO cmd deploy.go:1460 Deploying charm "local:kubernetes/wordpress-1".
12:28:56 DEBUG juju.api monitor.go:35 RPC connection died
12:28:56 INFO cmd supercommand.go:525 command finished
cat metadata.yaml
name: wordpress
summary: WordPress
maintainer: Operator Framework Developers https://github.com/canonical/operator/graphs/contributors
description: |
WordPress CMS charm.
tags:
- blog
series:
- kubernetes
requires:
db:
interface: mysql
storage:
database-a:
type: filesystem
location: /srv/mysqla
database-b:
type: filesystem
location: /srv/mysqlb
database-c:
type: filesystem
location: /srv/mysqlc
backup:
type: block
multiple:
range: 0-
stash:
type: block
multiple:
range: 0- |
juju remove-application --force test
removing application test failed: BlockStorage instance not implemented
storage:
database:
type: filesystem
location: /srv/mysql
backup:
type: block
multiple:
range: 0-
stash:
type: block
multiple:
range: 0-
# from bash history
juju deploy ./ test0 --storage 'database=tmpfs,100M backup=loop,100M stash=loop,100M'
juju run --unit test/0 'storage-list'
juju run --unit test/0 'storage-add backup count=1'
juju run --unit test/0 'storage-list'
juju remove-application --force test
juju remove-application --force test
removing application test failed: BlockStorage instance not implemented
---------------
The root cause seems to be that Juju allows this situation to happen in the first place by not properly validating storage constraints:
1) When backup=loop,100M is used to deploy a k8s charm without any file system storage the error is present at the deploy time;
2) when both file system storage and block storage constraints are present, the error is not thrown:
'database-a=tmpfs,100M database-b=tmpfs,100M database-c=tmpfs,100M backup=loop,100M stash=loop,100M'
1)
juju deploy ./ test --storage 'backup=loop,100M stash=loop,100M' --debug
12:28:37 INFO juju.cmd supercommand.go:80 running juju [2.7.0 gc go1.10.4]
12:28:37 DEBUG juju.cmd supercommand.go:81 args: []string{"/snap/juju/9876/bin/juju", "deploy", "./", "test", "--storage", "backup=loop,100M stash=loop,100M", "--debug"}
12:28:37 INFO juju.juju api.go:67 connecting to API addresses: [10.152.183.208:17070]
12:28:37 DEBUG juju.api apiclient.go:1092 successfully dialed "wss://10.152.183.208:17070/model/63509cbd-79bb-4138-87c0-1f3faa56d528/api"
12:28:37 INFO juju.api apiclient.go:624 connection established to "wss://10.152.183.208:17070/model/63509cbd-79bb-4138-87c0-1f3faa56d528/api"
12:28:37 INFO juju.juju api.go:67 connecting to API addresses: [10.152.183.208:17070]
12:28:37 DEBUG juju.api apiclient.go:1092 successfully dialed "wss://10.152.183.208:17070/api"
12:28:37 INFO juju.api apiclient.go:624 connection established to "wss://10.152.183.208:17070/api"
12:28:37 DEBUG httpbakery client.go:243 client do POST https://10.152.183.208:17070/model/63509cbd-79bb-4138-87c0-1f3faa56d528/charms?revision=0&schema=local&series=kubernetes {
12:28:38 DEBUG httpbakery client.go:245 } -> error <nil>
12:28:38 INFO cmd deploy.go:1460 Deploying charm "local:kubernetes/wordpress-0".
12:28:38 DEBUG juju.api monitor.go:35 RPC connection died
ERROR getting workload storage params for "test": storage provider "loop" not valid
12:28:38 DEBUG cmd supercommand.go:519 error stack:
getting workload storage params for "test": storage provider "loop" not valid
/build/juju/parts/juju/go/src/github.com/juju/juju/api/application/client.go:161:
/build/juju/parts/juju/go/src/github.com/juju/juju/cmd/juju/application/deploy.go:258:
/build/juju/parts/juju/go/src/github.com/juju/juju/cmd/juju/application/deploy.go:1149:
/build/juju/parts/juju/go/src/github.com/juju/juju/cmd/juju/application/deploy.go:1461:
2)
juju deploy ./ test --storage 'database-a=tmpfs,100M database-b=tmpfs,100M database-c=tmpfs,100M backup=loop,100M stash=loop,100M' --debug
12:28:54 INFO juju.cmd supercommand.go:80 running juju [2.7.0 gc go1.10.4]
12:28:54 DEBUG juju.cmd supercommand.go:81 args: []string{"/snap/juju/9876/bin/juju", "deploy", "./", "test", "--storage", "database-a=tmpfs,100M database-b=tmpfs,100M database-c=tmpfs,100M backup=loop,100M stash=loop,100M", "--debug"}
12:28:54 INFO juju.juju api.go:67 connecting to API addresses: [10.152.183.208:17070]
12:28:54 DEBUG juju.api apiclient.go:1092 successfully dialed "wss://10.152.183.208:17070/model/63509cbd-79bb-4138-87c0-1f3faa56d528/api"
12:28:54 INFO juju.api apiclient.go:624 connection established to "wss://10.152.183.208:17070/model/63509cbd-79bb-4138-87c0-1f3faa56d528/api"
12:28:54 INFO juju.juju api.go:67 connecting to API addresses: [10.152.183.208:17070]
12:28:54 DEBUG juju.api apiclient.go:1092 successfully dialed "wss://10.152.183.208:17070/api"
12:28:54 INFO juju.api apiclient.go:624 connection established to "wss://10.152.183.208:17070/api"
12:28:54 DEBUG httpbakery client.go:243 client do POST https://10.152.183.208:17070/model/63509cbd-79bb-4138-87c0-1f3faa56d528/charms?revision=0&schema=local&series=kubernetes {
12:28:55 DEBUG httpbakery client.go:245 } -> error <nil>
12:28:55 INFO cmd deploy.go:1460 Deploying charm "local:kubernetes/wordpress-1".
12:28:56 DEBUG juju.api monitor.go:35 RPC connection died
12:28:56 INFO cmd supercommand.go:525 command finished
cat metadata.yaml
name: wordpress
summary: WordPress
maintainer: Operator Framework Developers https://github.com/canonical/operator/graphs/contributors
description: |
WordPress CMS charm.
tags:
- blog
series:
- kubernetes
requires:
db:
interface: mysql
storage:
database-a:
type: filesystem
location: /srv/mysqla
database-b:
type: filesystem
location: /srv/mysqlb
database-c:
type: filesystem
location: /srv/mysqlc
backup:
type: block
multiple:
range: 0-
stash:
type: block
multiple:
range: 0-
An error message is present in the log after the deployment time:
application-test: 12:29:15 ERROR juju.worker.dependency "unit-init-worker" manifold worker returned unexpected error: initializing unit "test/0": caas-unit-init failed: : command terminated with exit code 137 |
|
2019-12-05 10:45:33 |
Ian Booth |
juju: milestone |
|
2.7.1 |
|
2019-12-05 10:45:40 |
Ian Booth |
juju: status |
New |
Triaged |
|
2019-12-05 10:45:44 |
Ian Booth |
juju: importance |
Undecided |
High |
|
2020-01-17 02:48:04 |
Canonical Juju QA Bot |
juju: milestone |
2.7.1 |
2.7.2 |
|
2020-02-18 11:54:43 |
Canonical Juju QA Bot |
juju: milestone |
2.7.2 |
2.7.3 |
|
2020-02-27 07:21:29 |
Canonical Juju QA Bot |
juju: milestone |
2.7.3 |
2.7.4 |
|
2020-03-12 01:50:59 |
Canonical Juju QA Bot |
juju: milestone |
2.7.4 |
2.7.5 |
|
2020-04-01 22:02:03 |
Canonical Juju QA Bot |
juju: milestone |
2.7.5 |
2.7.6 |
|
2020-04-07 01:20:44 |
Ian Booth |
juju: milestone |
2.7.6 |
2.8-rc1 |
|
2020-04-27 00:27:16 |
Yang Kelvin Liu |
juju: assignee |
|
Yang Kelvin Liu (kelvin.liu) |
|
2020-04-27 00:27:20 |
Yang Kelvin Liu |
juju: status |
Triaged |
In Progress |
|
2020-05-07 00:30:36 |
Yang Kelvin Liu |
juju: status |
In Progress |
Triaged |
|
2020-05-11 07:04:59 |
Canonical Juju QA Bot |
juju: milestone |
2.8-rc1 |
|
|
2020-05-11 07:33:14 |
Ian Booth |
juju: milestone |
|
2.8-rc2 |
|
2020-05-14 05:24:02 |
Ian Booth |
juju: assignee |
Yang Kelvin Liu (kelvin.liu) |
Ian Booth (wallyworld) |
|
2020-05-14 05:24:08 |
Ian Booth |
juju: status |
Triaged |
In Progress |
|
2020-05-14 06:59:06 |
Ian Booth |
juju: status |
In Progress |
Fix Committed |
|
2020-05-19 06:14:06 |
Harry Pidcock |
juju: status |
Fix Committed |
Fix Released |
|