Uh oh!
There was an error while loading. Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork 39
Allow CEPH OSD to use devices on the systems through#158
Uh oh!
There was an error while loading. Please reload this page.
Changes from all commits
File filter
Filter by extension
Conversations
Uh oh!
There was an error while loading. Please reload this page.
Jump to
Uh oh!
There was an error while loading. Please reload this page.
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -60,7 +60,14 @@ spec: | ||
| privileged: true | ||
| env: | ||
| - name: CEPH_DAEMON | ||
| value: osd_directory | ||
| value: {{ .Values.osd.daemon }} | ||
| # Type, Disks, and Zap are ignored for directory-based OSDs. | ||
| - name: OSD_TYPE | ||
Contributor There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Do any of these need to be conditional if .Values.osd.daemon is osd_directory. It seems like they should even if just from a clarity perspective--e.g. ContributorAuthor There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The entrypoint.sh script doesn't, but it would be a safety thing more than anything else. Contributor There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I'm all for safety when we talk about zapping. | ||
| value: {{ .Values.osd.type }} | ||
| - name: OSD_DISKS | ||
| value: {{ .Values.osd.disks | quote }} | ||
| - name: OSD_FORCE_ZAP | ||
| value: {{ .Values.osd.zap | quote }} | ||
| - name: KV_TYPE | ||
| value: k8s | ||
| - name: CLUSTER | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -30,6 +30,13 @@ network: | ||
| rgw_ingress: 80 | ||
| rgw_target: 8088 | ||
| osd: | ||
| # Change to osd to use reall disks and set zap to 1 | ||
| daemon: osd_directory | ||
| type: devices | ||
| disks: "0:sdb 1:sdc 2:sdd 3:sde" | ||
Contributor There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. We may want to examine this approach more closely -- isn't the ceph best practice recommendation to leverage one osd per physical disk? Helm can be used to iterate over the disks, creating an OSD per disk. ContributorAuthor There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. That is what the entrypoint script does when you specify the TYPE Devices. It actually launches and aggregates the logging for each osd. It is all in the single container.
| ||
| zap: "0" | ||
| storage: | ||
| osd_directory: /var/lib/openstack-helm/ceph/osd | ||
| var_directory: /var/lib/openstack-helm/ceph/ceph | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -265,6 +265,13 @@ Install the first service, which is Ceph. If all instructions have been followed | ||
| admin@kubenode01:~$ helm install --name=ceph local/ceph --namespace=ceph | ||
| ``` | ||
| By default, ceph will be installed with the system using the space in a host mounted directory. This can | ||
| be overridden by adding additional set parameters. This will tell each osd to use physical disks | ||
| /dev/sdb and /dev/sdc as drives. | ||
| ``` | ||
| admin@kubenode01:~$ helm install --set network.public=$osd_public_network,osd.daemon="osd",osd.zap="1",ods.disks="0:sdb 1:sdc" --name=ceph local/ceph --namespace=ceph | ||
Collaborator There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. very nice. i like the override option. ceph is going to be one of those charts we're going to need a lot of conditionals and it will end up very different than it stands today! | ||
| ``` | ||
| ## Bootstrap Installation | ||
| At this time (and before verification of Ceph) you'll need to install the `bootstrap` chart. The `bootstrap` chart will install secrets for both the `ceph` and `openstack` namespaces for the general StorageClass: | ||
| ``` | ||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd like to see a boolean conditional used for this approach. this allows the deployment to be more flexible. this is partially our fault...we are in the process of defining where we would want conditionals. docs take a while, but will really help new developers. we need to define still what this ceph conditional would be. let me nail this down with @alanmeadows submit in the PR notes.
Example of conditional in deployment:
example: https://github.com/att-comdev/openstack-helm/blob/master/mariadb/templates/deployment.yaml#L157-L172
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not necessarily a problem, but there are more the two ceph osd options, I think. Now we may want validators that will fail (if that is possible in helm).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
i agree. this is something we have discuss as well; "what do we do when there are a, b, c, etc options". this is something we need to lay out in docs for developers who are contributing. we're at that point now, and we're taking just a little step back from developing so we can layout clear, sane goals for developers to follow. to this point in our two month project we've written issues and folks have plucked out issues they know we want to collectively solve, but this is changing now that we're trying to find a permanent home for the project (i want these docs drafted now).