From 7e4404adb496ab13dd0605475d2ac03d35e0f7f2 Mon Sep 17 00:00:00 2001 From: Patrick East Date: Tue, 15 Nov 2016 14:24:56 -0800 Subject: [PATCH] Get checks passing First changes: Make the puppet-lint tool happy We skip a handful of checks, but at least now should catch some of the more simple stuff. This also formats the files a little more consistently. Second change: Update the docs makefile so we can actually build the pdf with the expected commands Change-Id: Ia8e9224cad38baf5e4602f9be7af828dcffe6bbb --- .../manifests/common.pp | 16 +- .../manifests/compute.pp | 2 +- .../manifests/controller.pp | 411 +++++++++--------- doc/Makefile | 72 +-- 4 files changed, 235 insertions(+), 266 deletions(-) diff --git a/deployment_scripts/puppet/modules/plugin_purestorage_cinder/manifests/common.pp b/deployment_scripts/puppet/modules/plugin_purestorage_cinder/manifests/common.pp index 5da6700..f79e985 100755 --- a/deployment_scripts/puppet/modules/plugin_purestorage_cinder/manifests/common.pp +++ b/deployment_scripts/puppet/modules/plugin_purestorage_cinder/manifests/common.pp @@ -17,24 +17,24 @@ class plugin_purestorage_cinder::common { include plugin_purestorage_cinder::params - package {$plugin_purestorage_cinder::params::pip_package_name: + package { $plugin_purestorage_cinder::params::pip_package_name: ensure => 'installed' } - package {$plugin_purestorage_cinder::params::iscsi_package_name: + package { $plugin_purestorage_cinder::params::iscsi_package_name: ensure => 'installed' } - package {$plugin_purestorage_cinder::params::multipath_package_name: + package { $plugin_purestorage_cinder::params::multipath_package_name: ensure => 'installed' } case $::osfamily { 'Debian': { - service {$plugin_purestorage_cinder::params::iscsi_service_name: + service { $plugin_purestorage_cinder::params::iscsi_service_name: ensure => 'running', enable => true, hasrestart => true, require => Package[$plugin_purestorage_cinder::params::iscsi_package_name], } - file {'99-pure-storage.rules': + file { '99-pure-storage.rules': path => '/lib/udev/rules.d/99-pure-storage.rules', mode => '0644', owner => root, @@ -43,7 +43,7 @@ class plugin_purestorage_cinder::common { } } 'RedHat': { - file {'99-pure-storage.rules': + file { '99-pure-storage.rules': path => '/etc/udev/rules.d/99-pure-storage.rules', mode => '0644', owner => root, @@ -56,7 +56,7 @@ class plugin_purestorage_cinder::common { } } - service {$plugin_purestorage_cinder::params::multipath_service_name: + service { $plugin_purestorage_cinder::params::multipath_service_name: ensure => 'running', enable => true, hasrestart => true, @@ -65,7 +65,7 @@ class plugin_purestorage_cinder::common { require => Package[$plugin_purestorage_cinder::params::multipath_package_name], } - file {'multipath.conf': + file { 'multipath.conf': path => '/etc/multipath.conf', mode => '0644', owner => root, diff --git a/deployment_scripts/puppet/modules/plugin_purestorage_cinder/manifests/compute.pp b/deployment_scripts/puppet/modules/plugin_purestorage_cinder/manifests/compute.pp index b9d6fd4..0d956e7 100755 --- a/deployment_scripts/puppet/modules/plugin_purestorage_cinder/manifests/compute.pp +++ b/deployment_scripts/puppet/modules/plugin_purestorage_cinder/manifests/compute.pp @@ -28,7 +28,7 @@ class plugin_purestorage_cinder::compute ( hasrestart => true, } - nova_config { 'libvirt/iscsi_use_multipath': value => "${nova_multipath}"; + nova_config { 'libvirt/iscsi_use_multipath': value => $nova_multipath; 'libvirt/hw_disk_discard': value => 'unmap' } Nova_config<||> ~> Service['nova-compute'] diff --git a/deployment_scripts/puppet/modules/plugin_purestorage_cinder/manifests/controller.pp b/deployment_scripts/puppet/modules/plugin_purestorage_cinder/manifests/controller.pp index 74d83aa..09c0266 100755 --- a/deployment_scripts/puppet/modules/plugin_purestorage_cinder/manifests/controller.pp +++ b/deployment_scripts/puppet/modules/plugin_purestorage_cinder/manifests/controller.pp @@ -14,231 +14,240 @@ # class plugin_purestorage_cinder::controller ( - $section, - $glance_image_cache, - $glance_image_count, - $glance_image_size, - $replication, - $remote_array, - $remote_ip, - $remote_api, - $replication_default, - $replication_interval, - $replication_short, - $replication_long_day, - $replication_long, - $eradicate, - $local_ip, - $local_api, - $local_chap, - $local_multipath, - $protocol, - $consis_group, - $fczm_config, - $fc_vendor, - $fabric_count, - $fabric_name_1, - $fabric_name_2, - $fc_ip_1, - $fc_ip_2, - $fc_user_1, - $fc_user_2, - $fc_passwd_1, - $fc_passwd_2, - $fc_prefix_1, - $fc_prefix_2, - $fc_vsan_1, - $fc_vsan_2 + $section, + $glance_image_cache, + $glance_image_count, + $glance_image_size, + $replication, + $remote_array, + $remote_ip, + $remote_api, + $replication_default, + $replication_interval, + $replication_short, + $replication_long_day, + $replication_long, + $eradicate, + $local_ip, + $local_api, + $local_chap, + $local_multipath, + $protocol, + $consis_group, + $fczm_config, + $fc_vendor, + $fabric_count, + $fabric_name_1, + $fabric_name_2, + $fc_ip_1, + $fc_ip_2, + $fc_user_1, + $fc_user_2, + $fc_passwd_1, + $fc_passwd_2, + $fc_prefix_1, + $fc_prefix_2, + $fc_vsan_1, + $fc_vsan_2 ) { - include plugin_purestorage_cinder::common - include ::cinder::params - include ::cinder::client - include ::keystone::client + include plugin_purestorage_cinder::common + include ::cinder::params + include ::cinder::client + include ::keystone::client - ini_subsetting {'enable_cinder_pure_backend': - ensure => present, - section => 'DEFAULT', - key_val_separator => '=', - path => '/etc/cinder/cinder.conf', - setting => 'enabled_backends', - subsetting => "${section}", - subsetting_separator => ',', - } + ini_subsetting { 'enable_cinder_pure_backend': + ensure => present, + section => 'DEFAULT', + key_val_separator => '=', + path => '/etc/cinder/cinder.conf', + setting => 'enabled_backends', + subsetting => $section, + subsetting_separator => ',', + } - package {"purestorage": - ensure => "installed", - provider => pip - } + package { 'purestorage': + ensure => 'installed', + provider => pip + } - if $::cinder::params::volume_package { - package { $::cinder::params::volume_package: - ensure => present, - } - Package[$::cinder::params::volume_package] -> Cinder_config<||> - } - -# $section = $backend_name - cinder_type {'pure_vol': + if $::cinder::params::volume_package { + package { $::cinder::params::volume_package: ensure => present, - properties => ['volume_backend_name=pure'], } + Package[$::cinder::params::volume_package] -> Cinder_config<||> + } + + # $section = $backend_name + cinder_type { 'pure_vol': + ensure => present, + properties => ['volume_backend_name=pure'], + } + cinder_config { + 'DEFAULT/default_volume_type': value => 'pure_vol'; + # 'DEFAULT/enabled_backends': value => "${section}"; + } + + if $glance_image_cache{ cinder_config { - "DEFAULT/default_volume_type": value => 'pure_vol'; -# "DEFAULT/enabled_backends": value => "${section}"; + # Force both cinter internal tenant and user to be a fixed values, keeping plugin idempotent + 'DEFAULT/cinder_internal_tenant_project_id': value => '123456789abcdef123456789abcdef12'; + 'DEFAULT/cinder_internal_tenant_user_id': value => '123456789abcdef123456789abcdef13'; + "${section}/image_volume_cache_enabled": value => $glance_image_cache; + "${section}/image_volume_cache_max_count": value => $glance_image_count; + "${section}/image_volume_cache_max_size_gb": value => $glance_image_size; } + } - if $glance_image_cache{ + if $replication == true { + $repl_device = join(['backend_id:' ,$remote_array,',san_ip:',$remote_ip,',api_token:',$remote_api],'') + cinder_config { + "${section}/replication_device": value => $repl_device; + } + if $replication_default == 'false' { cinder_config { -# Force both cinter internal tenant and user to be a fixed values, keeping plugin idempotent - "DEFAULT/cinder_internal_tenant_project_id": value => "123456789abcdef123456789abcdef12"; - "DEFAULT/cinder_internal_tenant_user_id": value => "123456789abcdef123456789abcdef13"; - "$section/image_volume_cache_enabled": value => $glance_image_cache; - "$section/image_volume_cache_max_count": value => $glance_image_count; - "$section/image_volume_cache_max_size_gb": value => $glance_image_size; + "${section}/pure_replica_interval_default": value => $replication_interval; + "${section}/pure_replica_retention_short_term_default": value => $replication_short; + "${section}/pure_replica_retention_long_term_per_day_default": value => $replication_long_day; + "${section}/pure_replica_retention_long_term_default": value => $replication_long; } } + } - if $replication == 'true' { - $DEVICE = join(["backend_id:" ,$remote_array,",san_ip:",$remote_ip,",api_token:",$remote_api],'') - cinder_config { - "$section/replication_device": value => "$DEVICE"; - } - if $replication_default == 'false' { + if $eradicate == true { + cinder_config { + "${section}/pure_eradicate_on_delete": value => $eradicate; + } + } + + cinder::backend::pure { $section : + san_ip => $local_ip, + pure_api_token => $local_api, + volume_backend_name => $section, + use_chap_auth => $local_chap, + use_multipath_for_image_xfer => $local_multipath, + pure_storage_protocol => $protocol, + extra_options => { "${section}/backend_host" => { value => $section } + } + } + + # If consistency groups are selected then provide a modified pilocy.json that enables them + if $consis_group == true { + file { 'policy.json': + path => '/etc/cinder/policy.json', + mode => '0644', + owner => cinder, + group => cinder, + source => 'puppet:///modules/plugin_purestorage_cinder/policy.json', + } + } + + # If protocol is FC then meed to add zoning_mode. Put in $section as this has already been set by multibackend + if ($protocol == 'FC') and ($fczm_config == 'automatic') { + cinder_config { + "${section}/zoning_mode": value => 'Fabric'; + } + # Now add in the [fc-zone-manager] stanza + case $fc_vendor { + 'Brocade': { cinder_config { - "$section/pure_replica_interval_default": value => $replication_interval; - "$section/pure_replica_retention_short_term_default": value => $replication_short; - "$section/pure_replica_retention_long_term_per_day_default": value => $replication_long_day; - "$section/pure_replica_retention_long_term_default": value => $replication_long; - } - } - } - - if $eradicate == 'true' { - cinder_config { - "$section/pure_eradicate_on_delete": value => $eradicate; - } - } - - cinder::backend::pure { $section : - san_ip => $local_ip, - pure_api_token => $local_api, - volume_backend_name => $section, - use_chap_auth => $local_chap, - use_multipath_for_image_xfer => $local_multipath, - pure_storage_protocol => $protocol, - extra_options => { "$section/backend_host" => { value => $section } + 'fc-zone-manager/brcd_sb_connector': value => 'cinder.zonemanager.drivers.brocade.brcd_fc_zone_client_cli.BrcdFCZoneClientCLI'; + 'fc-zone-manager/fc_san_lookup_service': value => 'cinder.zonemanager.drivers.brocade.brcd_fc_san_lookup_service.BrcdFCSanLookupService'; + 'fc-zone-manager/zone_driver': value => 'cinder.zonemanager.drivers.brocade.brcd_fc_zone_driver.BrcdFCZoneDriver'; } + } + 'Cisco': { + cinder_config { + 'fc-zone-manager/cisco_sb_connector': value => 'cinder.zonemanager.drivers.cisco.cisco_fc_zone_client_cli.CiscoFCZoneClientCLI'; + 'fc-zone-manager/fc_san_lookup_service': value => 'cinder.zonemanager.drivers.cisco.cisco_fc_san_lookup_service.CiscoFCSanLookupService'; + 'fc-zone-manager/zone_driver': value => 'cinder.zonemanager.drivers.cisco.cisco_fc_zone_driver.CiscoFCZoneDriver'; + } + } + default: { + fail("${fc_vendor} is not a supported FCZM Vendor.") + } } - -# If consistency groups are selected then provide a modified pilocy.json that enables them - if $consis_group == 'true' { - file {'policy.json': - path => '/etc/cinder/policy.json', - mode => '0644', - owner => cinder, - group => cinder, - source => 'puppet:///modules/plugin_purestorage_cinder/policy.json', + case $fabric_count { + '1': { + cinder_config { + 'fc-zone-manager/fc_fabric_names': value => $fabric_name_1; + } + } + '2': { + cinder_config { + 'fc-zone-manager/fc_fabric_names': value => join([$fabric_name_1,', ',$fabric_name_2],''); + } + } + default: { + fail("Invalid value for fabric_count: ${fabric_count}.") } } -# If protocol is FC then meed to add zoning_mode. Put in $section as this has already been set by multibackend - if ($protocol == 'FC') and ($fczm_config == 'automatic') { - cinder_config { - "$section/zoning_mode": value => "Fabric"; - } -# Now add in the [fc-zone-manager] stanza - case $fc_vendor { - 'Brocade': { - cinder_config { - "fc-zone-manager/brcd_sb_connector": value => "cinder.zonemanager.drivers.brocade.brcd_fc_zone_client_cli.BrcdFCZoneClientCLI"; - "fc-zone-manager/fc_san_lookup_service": value => "cinder.zonemanager.drivers.brocade.brcd_fc_san_lookup_service.BrcdFCSanLookupService"; - "fc-zone-manager/zone_driver": value => "cinder.zonemanager.drivers.brocade.brcd_fc_zone_driver.BrcdFCZoneDriver"; - } - } - 'Cisco': { - cinder_config { - "fc-zone-manager/cisco_sb_connector": value => "cinder.zonemanager.drivers.cisco.cisco_fc_zone_client_cli.CiscoFCZoneClientCLI"; - "fc-zone-manager/fc_san_lookup_service": value => "cinder.zonemanager.drivers.cisco.cisco_fc_san_lookup_service.CiscoFCSanLookupService"; - "fc-zone-manager/zone_driver": value => "cinder.zonemanager.drivers.cisco.cisco_fc_zone_driver.CiscoFCZoneDriver"; - } - } - } - case $fabric_count { - '1': { - cinder_config { - "fc-zone-manager/fc_fabric_names": value => $fabric_name_1; - } - } - '2': { - cinder_config { - "fc-zone-manager/fc_fabric_names": value => join([$fabric_name_1,", ",$fabric_name_2],''); - } - } - } + $fabric_zone_1 = $fabric_name_1 + $fabric_zone_2 = $fabric_name_2 - $fabric_zone_1 = $fabric_name_1 - $fabric_zone_2 = $fabric_name_2 - -# Now add in stanzas for each fabric zone depending on the switch vendor - case $fc_vendor { - 'Brocade': { - cinder_config { - "$fabric_zone_1/fc_fabric_address": value => $fc_ip_1; - "$fabric_zone_1/fc_fabric_user": value => $fc_user_1; - "$fabric_zone_1/fc_fabric_password": value => $fc_passwd_1; - "$fabric_zone_1/fc_fabric_port": value => '22'; - "$fabric_zone_1/zoning_policy": value => 'initiator-target'; - "$fabric_zone_1/zone_activate": value => 'true'; - "$fabric_zone_1/zone_name_prefix": value => join([$fabric_name_1,"_"],''); - } - if $fabric_count == '2' { - cinder_config { - "$fabric_zone_2/fc_fabric_address": value => $fc_ip_2; - "$fabric_zone_2/fc_fabric_user": value => $fc_user_2; - "$fabric_zone_2/fc_fabric_password": value => $fc_passwd_2; - "$fabric_zone_2/fc_fabric_port": value => '22'; - "$fabric_zone_2/zoning_policy": value => 'initiator-target'; - "$fabric_zone_2/zone_activate": value => 'true'; - "$fabric_zone_2/zone_name_prefix": value => join([$fabric_name_2,"_"],''); - } - } - } - 'Cisco': { - cinder_config { - "$fabric_zone_1/cisco_fc_fabric_address": value => $fc_ip_1; - "$fabric_zone_1/cisco_fc_fabric_user": value => $fc_user_1; - "$fabric_zone_1/cisco_fc_fabric_password": value => $fc_passwd_1; - "$fabric_zone_1/cisco_fc_fabric_port": value => '22'; - "$fabric_zone_1/cisco_zoning_vsan": value => $fc_vsan_1; - "$fabric_zone_1/cisco_zoning_policy": value => 'initiator-target'; - "$fabric_zone_1/cisco_zone_activate": value => 'true'; - "$fabric_zone_1/cisco_zone_name_prefix": value => join([$fabric_name_1,"_"],''); - } - if $fabric_count == '2' { - cinder_config { - "$fabric_zone_2/cisco_fc_fabric_address": value => $fc_ip_2; - "$fabric_zone_2/cisco_fc_fabric_user": value => $fc_user_2; - "$fabric_zone_2/cisco_fc_fabric_password": value => $fc_passwd_2; - "$fabric_zone_2/cisco_fc_fabric_port": value => '22'; - "$fabric_zone_2/cisco_zoning_vsan": value => $fc_vsan_2; - "$fabric_zone_2/cisco_zoning_policy": value => 'initiator-target'; - "$fabric_zone_2/cisco_zone_activate": value => 'true'; - "$fabric_zone_2/cisco_zone_name_prefix": value => join([$fabric_name_2,"_"],''); - } - } - } + # Now add in stanzas for each fabric zone depending on the switch vendor + case $fc_vendor { + 'Brocade': { + cinder_config { + "${fabric_zone_1}/fc_fabric_address": value => $fc_ip_1; + "${fabric_zone_1}/fc_fabric_user": value => $fc_user_1; + "${fabric_zone_1}/fc_fabric_password": value => $fc_passwd_1; + "${fabric_zone_1}/fc_fabric_port": value => '22'; + "${fabric_zone_1}/zoning_policy": value => 'initiator-target'; + "${fabric_zone_1}/zone_activate": value => true; + "${fabric_zone_1}/zone_name_prefix": value => join([$fabric_name_1,'_'],''); + } + if $fabric_count == '2' { + cinder_config { + "${fabric_zone_2}/fc_fabric_address": value => $fc_ip_2; + "${fabric_zone_2}/fc_fabric_user": value => $fc_user_2; + "${fabric_zone_2}/fc_fabric_password": value => $fc_passwd_2; + "${fabric_zone_2}/fc_fabric_port": value => '22'; + "${fabric_zone_2}/zoning_policy": value => 'initiator-target'; + "${fabric_zone_2}/zone_activate": value => true; + "${fabric_zone_2}/zone_name_prefix": value => join([$fabric_name_2,'_'],''); + } + } + } + 'Cisco': { + cinder_config { + "${fabric_zone_1}/cisco_fc_fabric_address": value => $fc_ip_1; + "${fabric_zone_1}/cisco_fc_fabric_user": value => $fc_user_1; + "${fabric_zone_1}/cisco_fc_fabric_password": value => $fc_passwd_1; + "${fabric_zone_1}/cisco_fc_fabric_port": value => '22'; + "${fabric_zone_1}/cisco_zoning_vsan": value => $fc_vsan_1; + "${fabric_zone_1}/cisco_zoning_policy": value => 'initiator-target'; + "${fabric_zone_1}/cisco_zone_activate": value => true; + "${fabric_zone_1}/cisco_zone_name_prefix": value => join([$fabric_name_1,'_'],''); + } + if $fabric_count == '2' { + cinder_config { + "${fabric_zone_2}/cisco_fc_fabric_address": value => $fc_ip_2; + "${fabric_zone_2}/cisco_fc_fabric_user": value => $fc_user_2; + "${fabric_zone_2}/cisco_fc_fabric_password": value => $fc_passwd_2; + "${fabric_zone_2}/cisco_fc_fabric_port": value => '22'; + "${fabric_zone_2}/cisco_zoning_vsan": value => $fc_vsan_2; + "${fabric_zone_2}/cisco_zoning_policy": value => 'initiator-target'; + "${fabric_zone_2}/cisco_zone_activate": value => true; + "${fabric_zone_2}/cisco_zone_name_prefix": value => join([$fabric_name_2,'_'],''); + } + } + } + default: { + fail("${fc_vendor} is not a supported FCZM Vendor.") } } + } - Cinder_config<||> ~> Service['cinder_volume'] + Cinder_config<||> ~> Service['cinder_volume'] - service { 'cinder_volume': - ensure => running, - name => $::cinder::params::volume_service, - enable => true, - hasstatus => true, - hasrestart => true, - } + service { 'cinder_volume': + ensure => running, + name => $::cinder::params::volume_service, + enable => true, + hasstatus => true, + hasrestart => true, + } } diff --git a/doc/Makefile b/doc/Makefile index a0d4074..4f388d9 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -5,21 +5,22 @@ SPHINXOPTS = SPHINXBUILD = sphinx-build PAPER = -BUILDDIR = _build +BUILDDIR = build # User-friendly check for sphinx-build ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1) - $(error The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD environment variable to point to the full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the executable to your PATH. If you don\'t have Sphinx installed, grab it from http://sphinx-doc.org/) +$(error The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD environment variable to point to the full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the executable to your PATH. If you don't have Sphinx installed, grab it from http://sphinx-doc.org/) endif # Internal variables. PAPEROPT_a4 = -D latex_paper_size=a4 PAPEROPT_letter = -D latex_paper_size=letter -ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . +ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source # the i18n builder cannot share the environment and doctrees with the others -I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . +I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source + +.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest gettext -.PHONY: help help: @echo "Please use \`make ' where is one of" @echo " html to make standalone HTML files" @@ -29,10 +30,8 @@ help: @echo " json to make JSON files" @echo " htmlhelp to make HTML files and a HTML help project" @echo " qthelp to make HTML files and a qthelp project" - @echo " applehelp to make an Apple Help Book" @echo " devhelp to make HTML files and a Devhelp project" @echo " epub to make an epub" - @echo " epub3 to make an epub3" @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter" @echo " latexpdf to make LaTeX files and run them through pdflatex" @echo " latexpdfja to make LaTeX files and run them through platex/dvipdfmx" @@ -46,91 +45,65 @@ help: @echo " pseudoxml to make pseudoxml-XML files for display purposes" @echo " linkcheck to check all external links for integrity" @echo " doctest to run all doctests embedded in the documentation (if enabled)" - @echo " coverage to run coverage check of the documentation (if enabled)" + @echo " pdf to make a PDF file" -.PHONY: clean clean: rm -rf $(BUILDDIR)/* -.PHONY: html html: $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html @echo @echo "Build finished. The HTML pages are in $(BUILDDIR)/html." -.PHONY: dirhtml dirhtml: $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml @echo @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml." -.PHONY: singlehtml singlehtml: $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml @echo @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml." -.PHONY: pickle pickle: $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle @echo @echo "Build finished; now you can process the pickle files." -.PHONY: json json: $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json @echo @echo "Build finished; now you can process the JSON files." -.PHONY: htmlhelp htmlhelp: $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp @echo @echo "Build finished; now you can run HTML Help Workshop with the" \ ".hhp project file in $(BUILDDIR)/htmlhelp." -.PHONY: qthelp qthelp: $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp @echo @echo "Build finished; now you can run "qcollectiongenerator" with the" \ ".qhcp project file in $(BUILDDIR)/qthelp, like this:" - @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/PureStorageCinderPlugin.qhcp" + @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/Together-Message.qhcp" @echo "To view the help file:" - @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/PureStorageCinderPlugin.qhc" + @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/Together-Message.qhc" -.PHONY: applehelp -applehelp: - $(SPHINXBUILD) -b applehelp $(ALLSPHINXOPTS) $(BUILDDIR)/applehelp - @echo - @echo "Build finished. The help book is in $(BUILDDIR)/applehelp." - @echo "N.B. You won't be able to view it unless you put it in" \ - "~/Library/Documentation/Help or install it in your application" \ - "bundle." - -.PHONY: devhelp devhelp: $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp @echo @echo "Build finished." @echo "To view the help file:" - @echo "# mkdir -p $$HOME/.local/share/devhelp/PureStorageCinderPlugin" - @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/PureStorageCinderPlugin" + @echo "# mkdir -p $$HOME/.local/share/devhelp/Together-Message" + @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/Together-Message" @echo "# devhelp" -.PHONY: epub epub: $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub @echo @echo "Build finished. The epub file is in $(BUILDDIR)/epub." -.PHONY: epub3 -epub3: - $(SPHINXBUILD) -b epub3 $(ALLSPHINXOPTS) $(BUILDDIR)/epub3 - @echo - @echo "Build finished. The epub3 file is in $(BUILDDIR)/epub3." - -.PHONY: latex latex: $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex @echo @@ -138,33 +111,28 @@ latex: @echo "Run \`make' in that directory to run these through (pdf)latex" \ "(use \`make latexpdf' here to do that automatically)." -.PHONY: latexpdf latexpdf: $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex @echo "Running LaTeX files through pdflatex..." $(MAKE) -C $(BUILDDIR)/latex all-pdf @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." -.PHONY: latexpdfja latexpdfja: $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex @echo "Running LaTeX files through platex and dvipdfmx..." $(MAKE) -C $(BUILDDIR)/latex all-pdf-ja @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." -.PHONY: text text: $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text @echo @echo "Build finished. The text files are in $(BUILDDIR)/text." -.PHONY: man man: $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man @echo @echo "Build finished. The manual pages are in $(BUILDDIR)/man." -.PHONY: texinfo texinfo: $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo @echo @@ -172,52 +140,44 @@ texinfo: @echo "Run \`make' in that directory to run these through makeinfo" \ "(use \`make info' here to do that automatically)." -.PHONY: info info: $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo @echo "Running Texinfo files through makeinfo..." make -C $(BUILDDIR)/texinfo info @echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo." -.PHONY: gettext gettext: $(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale @echo @echo "Build finished. The message catalogs are in $(BUILDDIR)/locale." -.PHONY: changes changes: $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes @echo @echo "The overview file is in $(BUILDDIR)/changes." -.PHONY: linkcheck linkcheck: $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck @echo @echo "Link check complete; look for any errors in the above output " \ "or in $(BUILDDIR)/linkcheck/output.txt." -.PHONY: doctest doctest: $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest @echo "Testing of doctests in the sources finished, look at the " \ "results in $(BUILDDIR)/doctest/output.txt." -.PHONY: coverage -coverage: - $(SPHINXBUILD) -b coverage $(ALLSPHINXOPTS) $(BUILDDIR)/coverage - @echo "Testing of coverage in the sources finished, look at the " \ - "results in $(BUILDDIR)/coverage/python.txt." - -.PHONY: xml xml: $(SPHINXBUILD) -b xml $(ALLSPHINXOPTS) $(BUILDDIR)/xml @echo @echo "Build finished. The XML files are in $(BUILDDIR)/xml." -.PHONY: pseudoxml pseudoxml: $(SPHINXBUILD) -b pseudoxml $(ALLSPHINXOPTS) $(BUILDDIR)/pseudoxml @echo @echo "Build finished. The pseudo-XML files are in $(BUILDDIR)/pseudoxml." + +pdf: + $(SPHINXBUILD) -b pdf $(ALLSPHINXOPTS) $(BUILDDIR)/pdf + @echo + @echo "Build finished. The PDF file is in $(BUILDDIR)/pdf."