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
demo
credentials to perform the following steps as a non-administrative project:$ . demo-openrc
Create 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
creating
toavailable
:$ 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_NAME
Replace
INSTANCE_NAME
with the name of the instance andVOLUME_NAME
with the name of the volume you want to attach to it.Example
Attach the
volume1
volume to theprovider-instance
instance:$ openstack server add volume provider-instance volume1
Note
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
fdisk
command to verify presence of the volume as the/dev/vdb
block 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 table
Note
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
.