Training labs parser will allow us to automatically parse RST code
to BASH. This BASH code in turn will be invoked by install-guides for
validating the install guides. To provide the correct information to the
parser for generating BASH code, there are a few changes required to the
RST syntax.
Introduces the following changes to RST syntax:
- `.. end`
This tag provides information for the parser to stop extracting the
given block which could be code, file injection or configuration
file edit.
- `.. endonly`
This tag provides information for the parser with the correct
distro-switch logic for identifying distro-specific code.
For .. only:: tags, it is better to avoid nesting. If nesting
is not avoidable then it is preferable to add the .. endonly
tag to close the outer block immediately.
- Extra new lines in code-blocks
Some commands in the code-blocks provides the expected output of the
given command. This is not a BASH command which we want to run but
rather some visual niceness for the users. These new lines provides
the parser information to identify the end of the command. This
basic logic would be something similar to find '\r\n' which at least
for python means new empty line.
- `mysql>`
Introducing this operator for mysql commands. This could potentially
be changed to `pgsql>` or similar for other SQL type databases.
This allows the parser to identify mysql commands and then run
them in mysql instead of in 'sh' or 'bash'.
- `.. path`
Introducing this tag to provide the parser with the information with
the path of the configuration file. Using the description text for
the same is not reliable since the description text may not be
consistent.
This commit should ideally introduce all the syntax changes required for
the parser to convert the code-blocks in here to BASH code. These
changes should have no impact on the HTML output of the RST code.
Change-Id: I47830b1bc61c8b1a0f3350932d15aa3ce88fa672
5.1 KiB
Block Storage
Create a volume
Source the
democredentials to perform the following steps as a non-administrative project:$ . demo-openrcCreate a 1 GB volume:
$ openstack volume create --size 1 volume1 +---------------------+--------------------------------------+ | Field | Value | +---------------------+--------------------------------------+ | attachments | [] | | availability_zone | nova | | bootable | false | | consistencygroup_id | None | | created_at | 2016-03-08T14:30:48.391027 | | description | None | | encrypted | False | | id | a1e8be72-a395-4a6f-8e07-856a57c39524 | | multiattach | False | | name | volume1 | | properties | | | replication_status | disabled | | size | 1 | | snapshot_id | None | | source_volid | None | | status | creating | | type | None | | updated_at | None | | user_id | 684286a9079845359882afc3aa5011fb | +---------------------+--------------------------------------+After a short time, the volume status should change from
creatingtoavailable:$ openstack volume list +--------------------------------------+--------------+-----------+------+-------------+ | ID | Display Name | Status | Size | Attached to | +--------------------------------------+--------------+-----------+------+-------------+ | a1e8be72-a395-4a6f-8e07-856a57c39524 | volume1 | available | 1 | | +--------------------------------------+--------------+-----------+------+-------------+
Attach the volume to an instance
Attach a volume to an instance:
$ openstack server add volume INSTANCE_NAME VOLUME_NAMEReplace
INSTANCE_NAMEwith the name of the instance andVOLUME_NAMEwith the name of the volume you want to attach to it.Example
Attach the
volume1volume to theprovider-instanceinstance:$ openstack server add volume provider-instance volume1Note
This command provides no output.
List volumes:
$ openstack volume list +--------------------------------------+--------------+--------+------+--------------------------------------------+ | ID | Display Name | Status | Size | Attached to | +--------------------------------------+--------------+--------+------+--------------------------------------------+ | a1e8be72-a395-4a6f-8e07-856a57c39524 | volume1 | in-use | 1 | Attached to provider-instance on /dev/vdb | +--------------------------------------+--------------+--------+------+--------------------------------------------+Access your instance using SSH and use the
fdiskcommand to verify presence of the volume as the/dev/vdbblock storage device:$ sudo fdisk -l Disk /dev/vda: 1073 MB, 1073741824 bytes 255 heads, 63 sectors/track, 130 cylinders, total 2097152 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00000000 Device Boot Start End Blocks Id System /dev/vda1 * 16065 2088449 1036192+ 83 Linux Disk /dev/vdb: 1073 MB, 1073741824 bytes 16 heads, 63 sectors/track, 2080 cylinders, total 2097152 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00000000 Disk /dev/vdb doesn't contain a valid partition tableNote
You must create a file system on the device and mount it to use the volume.
For more information about how to manage volumes, see the Manage volumes in OpenStack End User Guide.
Return to launch-instance.