Bug 1471718 - [RFE] Allow to create storageclass at installation time
[RFE] Allow to create storageclass at installation time
Status: NEW
Product: OpenShift Container Platform
Classification: Red Hat
Component: Installer (Show other bugs)
Unspecified Unspecified
low Severity medium
: ---
: 3.10.0
Assigned To: Scott Dodson
Johnny Liu
Depends On:
  Show dependency treegraph
Reported: 2017-07-17 06:13 EDT by Eduardo Minguez
Modified: 2018-01-25 16:49 EST (History)
6 users (show)

See Also:
Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
Last Closed:
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description Eduardo Minguez 2017-07-17 06:13:57 EDT
Description of problem:
If you want to deploy logging at installation time using dynamic storage, you need to create the storageclass before the logging is deployed otherwise it will be stuck trying to create storage

Version-Release number of the following components:
rpm -q openshift-ansible
rpm -q ansible
ansible --version
[edu@bastion ~]$ rpm -q openshift-ansible
[edu@bastion ~]$ rpm -q ansible
[edu@bastion ~]$ ansible --version
  config file = /home/edu/.ansible.cfg
  configured module search path = ['/usr/share/ansible', '/usr/share/ansible/openshift-ansible/library']

How reproducible:
Try to create a PVC as the installer finishes.

Steps to Reproduce:
1. Install OCP
2. Try to create a PVC as the installer finishes.

Actual results:
Please include the entire output from the last TASK line through the end of output if an error is generated
It cannot bind any PV to the PVC as the storageclass is not created yet.

Expected results:
Some ansible variable to specify a storageclass to be created at installation time.

Additional info:
Please attach logs from ansible-playbook with the -vvv flag
Comment 1 Scott Dodson 2017-08-29 15:53:38 EDT
Eduardo what cloud provider are you using?
Comment 2 Eduardo Minguez 2017-08-30 04:45:38 EDT
Hi Scott,

I think this should be "cross provider" because if you want to deploy logging at installation time with a custom storageclass, you should do it no matter what provider you are using.

I think the idea will be to have an ansible variable with the storageclass definition and create it just after the installation and before creating the router, registry, logging, etc. so you can use it "out of the box" for the registry, logging, metrics, etc.

Comment 3 Scott Dodson 2017-08-30 08:26:19 EDT
Yeah, we do that today for GCE and AWS. But I believe there's no way to define a generic default storage class that works across all providers, am I mistaken?
Comment 4 Eduardo Minguez 2017-08-30 08:46:50 EDT
Not generic, but to be able to allow users to create them at installation time. I'm thinking in something like this (just an example)

* default_storageclass_name = whatever
* default_storageclass_provisioner = kubernetes.io/rbd (or any other)
* default_storageclass_parameters = [{'fstype': 'ext4',
'iopsPerGB': '10', 'foo': 'bar'}]
Comment 5 Eduardo Minguez 2017-08-30 08:48:26 EDT
Sorry, pressed enter too soon...
Or something like the ldap authentication stuff:

* default_storage_class = [{'name': 'whatever',
'provisioner': 'kubernetes.io/rbd', 'fstype': 'ext4',
'iopsPerGB': '10', 'foo': 'bar'}]

Note You need to log in before you can comment on or make changes to this bug.