diff --git a/docs/manuals/api.md b/docs/manuals/api.md index 89501a6c..d95cb315 100644 --- a/docs/manuals/api.md +++ b/docs/manuals/api.md @@ -165,9 +165,9 @@ Example configuration: pvc: debug: True coordinators: - - pvc-hv1 - - pvc-hv2 - - pvc-hv3 + - pvchv1 + - pvchv2 + - pvchv3 api: listen_address: "127.0.0.1" listen_port: "7370" @@ -181,6 +181,25 @@ pvc: enabled: False cert_file: "" key_file: "" + provisioner: + database: + host: 10.100.0.252 + port: 5432 + name: pvcprov + user: pvcprov + pass: pvcprov + queue: + host: localhost + port: 6379 + path: /0 + ceph_cluster: + storage_hosts: + - pvchv1 + - pvchv2 + - pvchv3 + storage_domain: "s.bonilan.net" + ceph_monitor_port: 6789 + ceph_storage_secret_uuid: "c416032b-2ce9-457f-a5c2-18704a3485f4" ``` #### `debug` @@ -251,6 +270,78 @@ The path to the SSL certificate file for the API to use. The path to the SSL private key file for the API to use. +##### `provisioner` → `database` → `host` + +* *required* + +The hostname of the PostgreSQL instance for the Provisioner database. Should always be `localhost` except in advanced deployment scenarios. + +##### `provisioner` → `database` → `port` + +* *required* + +The port of the PostgreSQL instance for the Provisioner database. Should always be `5432`. + +##### `provisioner` → `database` → `name` + +* *required* + +The database name for the Provisioner database. Should always be `pvcprov`. + +##### `provisioner` → `database` → `user` + +* *required* + +The username for the PVC API client to access the Provisioner database. + +##### `provisioner` → `database` → `pass` + +* *required* + +The password for the PVC API client to access the Provisioner database. + +#### `provisioner` → `queue` → `host` + +* *required* + +The hostname of the Redis instance for the Provisioner queue. Should always be `localhost` except in advanced deployment scenarios. + +#### `provisioner` → `queue` → `port` + +* *required* + +The port of the Redis innstance for the Provisioner queue. Should always be `6379`. + +#### `provisioner` → `queue` → `path` + +* *required* + +The Redis path for the Provisioner queue. Should always be `/0`. + +#### `provisioner` → `ceph_cluster` → `storage_hosts` + +* *required* + +A list of hosts which run the Ceph monitors for VM disks. Should usually be identical to the list of `coordinators` except in advanced deployments. + +#### `provisioner` → `ceph_cluster` → `storage_domain` + +* *required* + +The storage domain of the cluster, used with the `storage_hosts` entires to form FQDNs for the Ceph monitors. Should usually be identical to the cluster `storage_domain` except in advanced deployments. + +#### `provisioner` → `ceph_cluster` → `ceph_monitor_port` + +* *required* + +The Ceph monitor port. Should always be `6789`. + +#### `provisioner` → `ceph_cluster` → `ceph_storage_secret_uuid` + +* *required* + +The Libvirt storage secret UUID for the Ceph cluster. + ## API Endpoint Documentation The full API endpoint and schema documentation [can be found here](/manuals/api-reference.html). diff --git a/docs/manuals/cli.md b/docs/manuals/cli.md index b86d4e6b..dfe43905 100644 --- a/docs/manuals/cli.md +++ b/docs/manuals/cli.md @@ -1,9 +1,11 @@ # PVC CLI client manual -The PVC CLI client is built with Click, a Python framework for creating self-documenting CLI applications. It interfaces directly with the Zookeeper cluster to send and receive information about the cluster with no authentication. +The PVC CLI client is built with Click, a Python framework for creating self-documenting CLI applications. It interfaces with the PVC API. Use the `-h` option at any level of the `pvc` CLI command to receive help about the available commands and options. +Before using the CLI on a non-PVC node system, at least one cluster must be added using the `pvc cluster` subcommands. Running the CLI on hosts which also run the PVC API (via its configuration at `/etc/pvc/pvc-api.yaml`) uses the special `local` cluster, reading information from the API configuration, by default. + ## Configuration -The CLI client requires no configuration file. The only optional external environment variable is `PVC_ZOOKEEPER_HOST`, which accepts a Zookeeper connection string and replaces the argument `-z` to the CLI command. +The CLI client requires no configuration file. The only optional external environment variable is `PVC_CLUSTER`, which can be used to specify a cluster to connect to. diff --git a/docs/manuals/daemon.md b/docs/manuals/daemon.md index b6c26535..54f154f9 100644 --- a/docs/manuals/daemon.md +++ b/docs/manuals/daemon.md @@ -20,7 +20,8 @@ Example configuration: ``` pvc: - node: pvc-hv1 + node: pvchv1 + debug: False functions: enable_hypervisor: True enable_networking: True @@ -28,9 +29,9 @@ pvc: enable_api: True cluster: coordinators: - - pvc-hv1 - - pvc-hv2 - - pvc-hv3 + - pvchv1 + - pvchv2 + - pvchv3 networks: upstream: domain: "mydomain.net" @@ -52,7 +53,14 @@ pvc: port: 5432 name: pvcdns user: pvcdns - pass: pvcdns + pass: pvcdnsPassw0rd + metadata: + database: + host: localhost + port: 5432 + name: pvcprov + user: pvcprov + pass: pvcprovPassw0rd system: fencing: intervals: @@ -63,7 +71,7 @@ pvc: successful_fence: migrate failed_fence: None ipmi: - host: pvc-hv1-lom + host: pvchv1-lom user: admin pass: Passw0rd migration: @@ -83,6 +91,7 @@ pvc: log_keepalive_storage_details: True console_log_lines: 1000 networking: + bridge_device: ens4 upstream: device: ens4 mtu: 1500 @@ -103,6 +112,12 @@ pvc: The (short) hostname of the node; host-specific. +#### `debug` + +* *required* + +Whether to enable or disable debug mode. Debug mode enables additional logging of subtasks throughout the system. + #### `functions` → `enable_hypervisor` * *required* @@ -194,6 +209,36 @@ The username for the PVC node daemon to access the DNS aggregator database. The password for the PVC node daemon to access the DNS aggregator database. +##### `metadata` → `database` → `host` + +* *required* + +The hostname of the PostgreSQL instance for the Provisioner database. Should always be `localhost` except in advanced deployment scenarios. + +##### `metadata` → `database` → `port` + +* *required* + +The port of the PostgreSQL instance for the Provisioner database. Should always be `5432`. + +##### `metadata` → `database` → `name` + +* *required* + +The database name for the Provisioner database. Should always be `pvcprov`. + +##### `metadata` → `database` → `user` + +* *required* + +The username for the PVC node daemon to access the Provisioner database. + +##### `metadata` → `database` → `pass` + +* *required* + +The password for the PVC node daemon to access the Provisioner database. + #### `system` → `intervals` → `keepalive_interval` * *required* @@ -316,6 +361,13 @@ Whether to log storage cluster status information during keepalives or not. How many lines of VM console logs to keep in the Zookeeper database for each VM. +#### `system` → `configuration` → `networking` → `bridge_device` + +* *optional* +* *requires* `functions` → `enable_networking` + +The network interface device used to create Bridged client network vLANs on. For most clusters, should match the underlying device of the various static networks (e.g. `ens4` or `bond0`), though may also use a separate network interface. + #### `system` → `configuration` → `networking` * *optional*