diff --git a/README.md b/README.md index c07f8e6..dcf700a 100644 --- a/README.md +++ b/README.md @@ -1,22 +1,36 @@ -The Openbook Plugin -=================== +# The Openbook Plugin -This plugin extends Mirantis OpenStack functionality by adding Openbook customer -onboarding, self-service, and cloud billing / charge-back services. Openbook is -a fully-functional, simple to use cloud management solution that has been built -specifically for OpenStack. It allows users to measure, manage, and monetize -clouds built on OpenStack. +This plugin extends Mirantis OpenStack functionality by adding Openbook customer +onboarding, self-service, and cloud billing / charge-back services. Openbook is cloud +management and reporting software that simplifies the tasks of planning, charging, +and predicting capacity requirements for cloud services. Talligent gives the +administrator and tenant real-time visibility of resources and accrued costs, as well +as the ability to scale up or down according to budget and resource requirements. -Requirements -++++++++++++ +For the Service Provider: Openbook by Talligent is the quickest path to monetizing +OpenStack services. Openbook enables service providers to sell on demand cloud services +based on the OpenStack platform, including dedicated instances, networks, storage, +applications, virtual desktops, and other infrastructure elements or services. Services +can be packaged the way you want: by tiers, metered and sold by the hour, delivered +on-site or as part of a shared infrastructure. Cloud service providers can expand their +customer reach and strengthen their existing relationship via resellers. Openbook natively +supports reseller workflow with corresponding rate plans that support taxation, currency +conversion, proration, discounts, and promotional codes independent from the master +service provider. -+----------------------------------+-------------------------------------------+ +For the Enterprise: Without visibility into the growth of cloud services by department, +it is difficult to accurately predict how much new capacity to add, and when. Openbook +is designed to quickly answer key management questions about the environment – largest +tenants, host utilization, service growth, and project costs. Openbook has a robust +ratings engine tuned to OpenStack and VMware clouds to support hybrid cloud reporting. +Costs can be assigned by tenant, business unit, VP, project, or other cost center. +Managers are automatically updated on their cloud costs as well as performance against +budget. Detailed reports of growth trends, utilization, and seasonal patterns allow +you to better plan for new capacity. + +## Requirements | Requirement | Version/Comment | -+==================================+===========================================+ -| Mirantis OpenStack compatility | 6.1 or higher | -+----------------------------------+-------------------------------------------+ +|----------------------------------|-------------------------------------------| +| Mirantis OpenStack compatility | 7.0 | | Distribution Supported | Ubuntu | -+----------------------------------+-------------------------------------------+ | Talligent Sharefile access | Contact openbook@talligent.com for access | -+----------------------------------+-------------------------------------------+ - diff --git a/TestPlanforOpenbookFuelPlugin.pdf b/TestPlanforOpenbookFuelPlugin.pdf index 35a8178..17dcb82 100644 Binary files a/TestPlanforOpenbookFuelPlugin.pdf and b/TestPlanforOpenbookFuelPlugin.pdf differ diff --git a/deployment_scripts/puppet/manifests/check_environment_configuration.pp b/deployment_scripts/puppet/manifests/check_environment_configuration.pp index 15b8323..789404d 100644 --- a/deployment_scripts/puppet/manifests/check_environment_configuration.pp +++ b/deployment_scripts/puppet/manifests/check_environment_configuration.pp @@ -16,6 +16,7 @@ $openbook = hiera('openbook') # Check that JVM size doesn't exceed the physical RAM size $jvmsize_mb = ($openbook['jvm_heap_size'] + 0.0) * 1024 -if $jvmsize_mb >= $::memorysize_mb { - fail("The configured JVM size (${ $openbook['jvm_heap_size'] } GB) is greater than the total amount of RAM of the system (${ ::memorysize }).") +$available_mb = $::memorysize_mb - 256 +if $jvmsize_mb > $available_mb { + fail("The configured JVM size (${ $openbook['jvm_heap_size'] } GB) is greater than the total amount of RAM available on the system (${ $available_mb } of ${ ::memorysize_mb }).") } diff --git a/deployment_scripts/puppet/manifests/deploy.pp b/deployment_scripts/puppet/manifests/deploy.pp index 7907a8f..ff5ad13 100644 --- a/deployment_scripts/puppet/manifests/deploy.pp +++ b/deployment_scripts/puppet/manifests/deploy.pp @@ -12,11 +12,6 @@ # License for the specific language governing permissions and limitations # under the License. # - -$openbook_hash = hiera('openbook') - -if $openbook_hash['node_name'] == hiera('user_node_name') { - - class {'openbook::db::mysql': } -> - class {'openbook::tomcat::server': } -} +notice('MODULAR: deploy.pp') +class {'openbook::db::mysql': } -> +class {'openbook::tomcat::server': } diff --git a/deployment_scripts/puppet/manifests/finalize.pp b/deployment_scripts/puppet/manifests/finalize.pp index a0b6c57..3e2f502 100644 --- a/deployment_scripts/puppet/manifests/finalize.pp +++ b/deployment_scripts/puppet/manifests/finalize.pp @@ -14,8 +14,4 @@ notice('MODULAR: finalize.pp') $openbook_hash = hiera('openbook') -if $openbook_hash['node_name'] == hiera('user_node_name') { - class {'openbook::finalize': } -} - - +class {'openbook::finalize': } diff --git a/deployment_scripts/puppet/manifests/netconfig.pp b/deployment_scripts/puppet/manifests/netconfig.pp deleted file mode 100644 index a9db906..0000000 --- a/deployment_scripts/puppet/manifests/netconfig.pp +++ /dev/null @@ -1,101 +0,0 @@ -# Copyright 2015 Talligent, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); you may -# not use this file except in compliance with the License. You may obtain -# a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. - -$openbook_hash = hiera('openbook') - -if $openbook_hash['node_name'] == hiera('user_node_name') { - notice('MODULAR: netconfig.pp') - - $network_scheme = hiera('network_scheme') - - class { 'l23network' : - use_ovs => hiera('use_neutron', false) - } - prepare_network_config($network_scheme) - $sdn = generate_network_config() - notify {'SDN': message => $sdn } - - #Set arp_accept to 1 by default #lp1456272 - sysctl::value { 'net.ipv4.conf.all.arp_accept': value => '1' } - sysctl::value { 'net.ipv4.conf.default.arp_accept': value => '1' } - - # setting kernel reserved ports - # defaults are 49000,49001,35357,41055,41056,58882 - class { 'openstack::reserved_ports': } - - ### TCP connections keepalives and failover related parameters ### - # configure TCP keepalive for host OS. - # Send 3 probes each 8 seconds, if the connection was idle - # for a 30 seconds. Consider it dead, if there was no responces - # during the check time frame, i.e. 30+3*8=54 seconds overall. - # (note: overall check time frame should be lower then - # nova_report_interval). - class { 'openstack::keepalive' : - tcpka_time => '30', - tcpka_probes => '8', - tcpka_intvl => '3', - tcp_retries2 => '5', - } - - # increase network backlog for performance on fast networks - sysctl::value { 'net.core.netdev_max_backlog': value => '261144' } - - L2_port<||> -> Sysfs_config_value<||> - L3_ifconfig<||> -> Sysfs_config_value<||> - L3_route<||> -> Sysfs_config_value<||> - - class { 'sysfs' :} - - if hiera('set_rps', true) { - sysfs_config_value { 'rps_cpus' : - ensure => 'present', - name => '/etc/sysfs.d/rps_cpus.conf', - value => cpu_affinity_hex($::processorcount), - sysfs => '/sys/class/net/*/queues/rx-*/rps_cpus', - exclude => '/sys/class/net/lo/*', - } - } - - if hiera('set_xps', true) { - sysfs_config_value { 'xps_cpus' : - ensure => 'present', - name => '/etc/sysfs.d/xps_cpus.conf', - value => cpu_affinity_hex($::processorcount), - sysfs => '/sys/class/net/*/queues/tx-*/xps_cpus', - exclude => '/sys/class/net/lo/*', - } - } - - if !defined(Package['irqbalance']) { - package { 'irqbalance': - ensure => installed, - } - } - - if !defined(Service['irqbalance']) { - service { 'irqbalance': - ensure => running, - require => Package['irqbalance'], - } - } - - # We need to wait at least 30 seconds for the bridges and other interfaces to - # come up after being created. This should allow for all interfaces to be up - # and ready for traffic before proceeding with further deploy steps. LP#1458954 - exec { 'wait-for-interfaces': - path => '/usr/bin:/bin', - command => 'sleep 32', - require => Class['l23network'], - } -} diff --git a/deployment_scripts/puppet/modules/openbook/manifests/finalize.pp b/deployment_scripts/puppet/modules/openbook/manifests/finalize.pp index cf5ee92..005c31c 100644 --- a/deployment_scripts/puppet/modules/openbook/manifests/finalize.pp +++ b/deployment_scripts/puppet/modules/openbook/manifests/finalize.pp @@ -22,26 +22,15 @@ class openbook::finalize { $keystone_admin_url = "http://${management_vip}:35357/v2.0" $os_auth_url = "http://${management_vip}:5000/v2.0" - $fuel_version = hiera('fuel_version') - - case $fuel_version { - '6.1': { - $keystone_client = 'python-keystoneclient' - $keystone_command = 'keystone' - $keystone_args = 'tenant-get admin' - } - default: { # or '7.0' - $keystone_client = 'python-openstackclient' - $keystone_command = 'openstack' - $keystone_args = 'project show admin' - - $public_ssl_hash = hiera('public_ssl') - $ip = hiera('public_vip') - - # Need to add trust chain so that Openbook can talk to https endpoints - class { 'openbook::ssl_add_trust_chain': } - } - } -> + $keystone_client = 'python-openstackclient' + $keystone_command = 'openstack' + $keystone_args = "project show ${admin_tenant}" + + $public_ssl_hash = hiera('public_ssl') + $ip = hiera('public_vip') + + # Need to add trust chain so that Openbook can talk to https endpoints + class { 'openbook::ssl_add_trust_chain': }-> package { "$keystone_client": ensure => present diff --git a/deployment_tasks.yaml b/deployment_tasks.yaml index 5cb0b08..0d9d5fe 100644 --- a/deployment_tasks.yaml +++ b/deployment_tasks.yaml @@ -6,4 +6,7 @@ - globals - netconfig required_for: [deploy_end] - requires: [deploy_start] + requires: [deploy_start,controller] + parameters: + strategy: + type: parallel diff --git a/doc/source/_static/ceilometer-select.png b/doc/source/_static/ceilometer-select.png deleted file mode 100644 index cce74ed..0000000 Binary files a/doc/source/_static/ceilometer-select.png and /dev/null differ diff --git a/doc/source/_static/ceilometer-select_s.png b/doc/source/_static/ceilometer-select_s.png index 0fecb1a..8e5018d 100644 Binary files a/doc/source/_static/ceilometer-select_s.png and b/doc/source/_static/ceilometer-select_s.png differ diff --git a/doc/source/_static/deploy-finished-notification.png b/doc/source/_static/deploy-finished-notification.png deleted file mode 100644 index eeeeca6..0000000 Binary files a/doc/source/_static/deploy-finished-notification.png and /dev/null differ diff --git a/doc/source/_static/deployment-finished.png b/doc/source/_static/deployment-finished.png deleted file mode 100644 index 4021d3e..0000000 Binary files a/doc/source/_static/deployment-finished.png and /dev/null differ diff --git a/doc/source/_static/openbook-node-selection.png b/doc/source/_static/openbook-node-selection.png deleted file mode 100644 index 9563099..0000000 Binary files a/doc/source/_static/openbook-node-selection.png and /dev/null differ diff --git a/doc/source/_static/openbook-node.png b/doc/source/_static/openbook-node.png index 6c66d4e..097c351 100644 Binary files a/doc/source/_static/openbook-node.png and b/doc/source/_static/openbook-node.png differ diff --git a/doc/source/_static/plugin-openbook-config-61.png b/doc/source/_static/plugin-openbook-config-61.png deleted file mode 100644 index d6e0b14..0000000 Binary files a/doc/source/_static/plugin-openbook-config-61.png and /dev/null differ diff --git a/doc/source/_static/plugin-openbook-config.png b/doc/source/_static/plugin-openbook-config.png deleted file mode 100644 index d81819c..0000000 Binary files a/doc/source/_static/plugin-openbook-config.png and /dev/null differ diff --git a/doc/source/_static/plugin-openbook-config_s.png b/doc/source/_static/plugin-openbook-config_s.png index fee882d..99211b3 100644 Binary files a/doc/source/_static/plugin-openbook-config_s.png and b/doc/source/_static/plugin-openbook-config_s.png differ diff --git a/doc/source/_static/plugin-select-openbook.png b/doc/source/_static/plugin-select-openbook.png deleted file mode 100644 index 7a39894..0000000 Binary files a/doc/source/_static/plugin-select-openbook.png and /dev/null differ diff --git a/doc/source/conf.py b/doc/source/conf.py index 0feb3e5..c844610 100644 --- a/doc/source/conf.py +++ b/doc/source/conf.py @@ -46,7 +46,7 @@ source_suffix = '.rst' master_doc = 'index' # General information about the project. -project = u'fuel-plugin-openbook' +project = u'The Openbook plugin for Fuel' copyright = u'2015, Talligent Inc.' # The version info for the project you're documenting, acts as replacement for @@ -54,9 +54,9 @@ copyright = u'2015, Talligent Inc.' # built documents. # # The short X.Y version. -version = '1.0' +version = '1.1' # The full version, including alpha/beta/rc tags. -release = '1.0.0' +release = '1.1-1.1.0-1' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. @@ -199,7 +199,7 @@ latex_elements = { # (source start file, target name, title, # author, documentclass [howto, manual, or own class]). latex_documents = [ - ('index', 'fuel-plugin-openbook.tex', u'fuel-plugin-openbook Documentation', + ('index', 'fuel-plugin-openbook.tex', u'The Openbook Plugin for Fuel Documentation', u'Talligent Inc.', 'manual'), ] @@ -223,13 +223,17 @@ latex_documents = [ # If false, no module index is generated. #latex_domain_indices = True +# make latex stop printing blank pages between sections +# http://stackoverflow.com/questions/5422997/sphinx-docs-remove-blank-pages-from-generated-pdfs +latex_elements = { 'classoptions': ',openany,oneside', 'babel' : '\\usepackage[english]{babel}' } + # -- Options for manual page output --------------------------------------- # One entry per manual page. List of tuples # (source start file, name, description, authors, manual section). man_pages = [ - ('index', 'fuel-plugin-openbook', u'fuel-plugin-openbook Documentation', + ('index', 'fuel-plugin-openbook', u'Guide to the Openbook Plugin ver. 1.1-1.1.0-1 for Fuel', [u'Talligent Inc.'], 1) ] @@ -243,8 +247,8 @@ man_pages = [ # (source start file, target name, title, author, # dir menu entry, description, category) texinfo_documents = [ - ('index', 'fuel-plugin-openbook', u'fuel-plugin-openbook Documentation', - u'Talligent Inc.', 'fuel-plugin-openbook', 'One line description of project.', + ('index', 'fuel-plugin-openbook', u'The Openbook Plugin for Fuel Documentation', + u'Talligent Inc.', 'fuel-plugin-openbook', 'The Openbook Plugin for Fuel Documentation', 'Miscellaneous'), ] @@ -260,11 +264,16 @@ texinfo_documents = [ # If true, do not generate a @detailmenu in the "Top" node's menu. #texinfo_no_detailmenu = False +# Insert footnotes where they are defined instead of +# at the end. +pdf_inline_footnotes = True + + # -- Options for Epub output ---------------------------------------------- # Bibliographic Dublin Core info. -epub_title = u'fuel-plugin-openbook' +epub_title = u'The Openbook Plugin for Fuel' epub_author = u'Talligent Inc.' epub_publisher = u'Talligent Inc.' epub_copyright = u'2015, Talligent Inc.' diff --git a/doc/source/guide.rst b/doc/source/guide.rst index 5ca52be..527d12e 100644 --- a/doc/source/guide.rst +++ b/doc/source/guide.rst @@ -1,90 +1,80 @@ +.. _user_guide: + User Guide ========== -Intro -+++++ +.. _plugin_configuration: -`Contact Talligent `_ to get access to the -Talligent Sharefile account for downloading Openbook and the Openbook User Guide. +Plugin configuration +-------------------- #. `Create a new environment `_ with the Fuel UI wizard. At the moment only the Ubuntu distribution is supported. - * When stepping through the 'new OpenStack environment' wizard, be sure to enable - Ceilometer in the Additonal Services section. Openbook relies on various endpoints - for data, one of which is Ceilometer. + * When stepping through the 'new OpenStack environment' wizard, be sure to enable + Ceilometer in the Additonal Services section. Openbook relies on various endpoints + for data, one of which is Ceilometer. - .. image:: _static/ceilometer-select_s.png - :alt: A screenshot of the Install Ceilometer step + .. image:: _static/ceilometer-select_s.png + :alt: A screenshot of the Install Ceilometer step +#. Click on the Settings tab of the Fuel web UI. -- Click on the Settings tab of the Fuel web UI. + Select the "Openbook Plugin" tab, enable the plugin by clicking on the + "Openbook Plugin" checkbox and fill-in the required fields (default for 'database password' is Tall!g3nt): - For fuel version 7.0: select the "Openbook Plugin" tab, enable - the plugin by clicking on the “Openbook Plugin” checkbox and - fill-in the required fields: + .. image:: _static/plugin-openbook-config_s.png + :alt: A screenshot of the Openbook Plugin settings UI for 7.0 + :scale: 90% - .. image:: _static/plugin-openbook-config_s.png - :alt: A screenshot of the Openbook Plugin settings UI for 7.0 - :scale: 90% + .. note:: The Sharefile Username will be your e-mail and the password will be the one you setup + when you received the e-mail about your Sharefile account being created. If you do not + have Sharefile access to Talligent, please contact openbook@talligent.com. +#. Click *Save Settings* at the bottom of the page to save the configuration parameters. - For fuel version 6.1: scroll down the page, select the Openbook Plugin - check-box and fill-in the required fields: +#. Switch to the *Nodes* tab. - .. image:: _static/plugin-openbook-config-61.png - :alt: A screenshot of the Openbook Plugin settings UI for 6.1 - :scale: 90% +#. After `adding all OpenStack nodes/roles `_, + add an Openbook node (optional: rename to something meaningful, such as "openbook"): + + .. image:: _static/openbook-node.png + :alt: A screenshot of the Openbook host name + :scale: 90% +#. Select the *Networks* tab, scroll to the bottom, and `Verify Networks `_. - **NOTE:** The Sharefile Username will be your e-mail and the password will be the one you setup - when you received the e-mail about your Sharefile account being created. If you do not - have Sharefile access to Talligent, please contact openbook@talligent.com. +#. Then finally, `Deploy Changes `_. - -- Click *Save Settings* at the bottome of the page to save the configuration parameters. - -- Switch to the *Nodes* tab. - -- After `adding all OpenStack nodes/roles `_ - , add a base-os node and rename the base-os host as "openbook": - - .. image:: _static/openbook-node.png - :alt: A screenshot of the Openbook host name - :scale: 90% - -- Select the *Networks* tab, scroll to the bottom, and `Verify Networks `_. - -- Then finally, `Deploy Changes `_ +.. _plugin_install_verification: Plugin Install Verification -+++++++++++++++++++++++++++ +--------------------------- -Once the deployment is finished, the notification icon will show there to be a new notification message. +Once the deployment is finished, the Dashboard tab will display the "Success" notification, stating that +the plugin is deployed and will give the URL schema for accessing the Openbook UI. -.. image:: _static/deploy-finished-notification.png - :alt: A screenshot of the notification icon with a message count - :scale: 90% - -When clicking the notification icon, there will be a message stating that the plugin is deployed and -will give the URL schema for accessing the Openbook UI. - -.. image:: _static/deployment-finished.png - :alt: A screenshot of the "deployment finished" notification message +.. image:: _static/deployment-success.png + :alt: A screenshot of the Dashboard Success notification :scale: 90% Use the fuel command line to retrieve the IP address of the openbook node. +.. _retrieve-ip: + .. code:: bash [root@fuel ~]# fuel nodes - id | status | name | cluster | ip | [..] | roles | [..] - ---|----------|------------------|---------|-----------|------|-------------------|------ - 2 | ready | Untitled (84:d2) | 2 | 10.20.0.4 | | cinder, compute | - 1 | ready | Untitled (54:19) | 2 | 10.20.0.3 | | controller, mongo | - 3 | ready | openbook | 2 | 10.20.0.5 | | base-os | - .. | ..... | ................ | ... | ......... | | ............... | + id | status | name | cluster | ip | [..] | roles | [..] + ---|----------|---------------|---------|-----------|------|-------------------|------ + 2 | ready | compute-01 | 2 | 10.20.0.4 | | cinder, compute | + 1 | ready | controller-01 | 2 | 10.20.0.3 | | controller, mongo | + 3 | ready | openbook | 2 | 10.20.0.5 | | openbook | + .. | ..... | ..............| ... | ......... | | ............... | In this example, the Openbook UI would be accessed at ``https://10.20.0.5:8443/Openbook`` +Using Openbook +-------------- +For instructions on using Openbook, please see the `official documentation `_. diff --git a/doc/source/index.rst b/doc/source/index.rst index 821de8a..aa18cd9 100644 --- a/doc/source/index.rst +++ b/doc/source/index.rst @@ -3,10 +3,12 @@ You can adapt this file completely to your liking, but it should at least contain the root `toctree` directive. -Welcome to fuel-plugin-openbook's documentation! +================================================ +Guide to the Openbook Plugin ver. 1.1.0 for Fuel ================================================ -Contents: +User documentation +================== .. toctree:: :maxdepth: 2 @@ -14,11 +16,3 @@ Contents: overview installation guide - - - -Indices and tables -================== - -* :ref:`search` - diff --git a/doc/source/installation.rst b/doc/source/installation.rst index fc0d308..75af5e2 100644 --- a/doc/source/installation.rst +++ b/doc/source/installation.rst @@ -1,57 +1,33 @@ -Installation -============ - -Where to download the plugin -++++++++++++++++++++++++++++ - -The plugin in not yet distribuited as package. You have to build it -yourself. - -The code is hosted on `github openstack`_. - -How to build the plugin -+++++++++++++++++++++++ - -Please refer to the `Fuel Plugins wiki`_ to build the plugin -by yourself, version 2.0.0 (or higher) of the Fuel Plugin Builder is -required. - -.. code:: bash - - git clone https://github.com/openstack/fuel-plugin-openbook.git - fpb --build fuel-plugin-openbook +Installation Guide +================== How to install the plugin -+++++++++++++++++++++++++ +------------------------- -Copy the plugin file to the Fuel Master node. +Per the :ref:`Requirements section `, `Contact Talligent `_ to get access to the +Talligent Sharefile account for downloading Openbook and the Openbook 'How to guide'. -.. code:: bash +Please refer to the `Install Fuel Plugins `_ section from the User Guide for installation +of the plugin. You can also refer to the `CLI command reference for Fuel Plugins `_. - cd fuel-plugin-openbook - scp fuel-plugin-openbook*rpm root@: +#. Copy the plugin file to the Fuel Master node. -Install the plugin using the fuel command line: + .. code:: bash -.. code:: bash + scp openbook*rpm root@: - ssh root@ - fuel plugins --install fuel-plugin-openbook*.rpm +#. Install the plugin using the fuel command line: -Verify that the plugin is installed correctly: + .. code:: bash -.. code:: bash + ssh root@ + fuel plugins --install openbook*.rpm - [root@fuel ~]# fuel plugins --list - id | name | version | package_version - ---|----------------------|---------|---------------- - 2 | fuel-plugin-openbook | 1.0.0 | 2.0.0 +#. Verify that the plugin is installed correctly: + .. code:: bash -********** -References -********** - -.. target-notes:: -.. _github openstack: https://github.com/openstack/fuel-plugin-openbook -.. _Fuel Plugins wiki: https://wiki.openstack.org/wiki/Fuel/Plugins + [root@fuel ~]# fuel plugins + id | name | version | package_version + ---|----------|---------|---------------- + 1 | openbook | 1.1.0 | 3.0.0 diff --git a/doc/source/overview.rst b/doc/source/overview.rst index c07f8e6..16fc936 100644 --- a/doc/source/overview.rst +++ b/doc/source/overview.rst @@ -1,22 +1,58 @@ -The Openbook Plugin -=================== +.. _user_overview: -This plugin extends Mirantis OpenStack functionality by adding Openbook customer -onboarding, self-service, and cloud billing / charge-back services. Openbook is -a fully-functional, simple to use cloud management solution that has been built -specifically for OpenStack. It allows users to measure, manage, and monetize -clouds built on OpenStack. +Overview +======== + +This plugin extends Mirantis OpenStack functionality by adding Openbook customer +onboarding, self-service, and cloud billing / charge-back services. Openbook is cloud +management and reporting software that simplifies the tasks of planning, charging, +and predicting capacity requirements for cloud services. Talligent gives the +administrator and tenant real-time visibility of resources and accrued costs, as well +as the ability to scale up or down according to budget and resource requirements. + +For the Service Provider: Openbook by Talligent is the quickest path to monetizing +OpenStack services. Openbook enables service providers to sell on demand cloud services +based on the OpenStack platform, including dedicated instances, networks, storage, +applications, virtual desktops, and other infrastructure elements or services. Services +can be packaged the way you want: by tiers, metered and sold by the hour, delivered +on-site or as part of a shared infrastructure. Cloud service providers can expand their +customer reach and strengthen their existing relationship via resellers. Openbook natively +supports reseller workflow with corresponding rate plans that support taxation, currency +conversion, proration, discounts, and promotional codes independent from the master +service provider. + +For the Enterprise: Without visibility into the growth of cloud services by department, +it is difficult to accurately predict how much new capacity to add, and when. Openbook +is designed to quickly answer key management questions about the environment – largest +tenants, host utilization, service growth, and project costs. Openbook has a robust +ratings engine tuned to OpenStack and VMware clouds to support hybrid cloud reporting. +Costs can be assigned by tenant, business unit, VP, project, or other cost center. +Managers are automatically updated on their cloud costs as well as performance against +budget. Detailed reports of growth trends, utilization, and seasonal patterns allow +you to better plan for new capacity. + +.. _plugin_requirements: Requirements -++++++++++++ +------------ -+----------------------------------+-------------------------------------------+ -| Requirement | Version/Comment | -+==================================+===========================================+ -| Mirantis OpenStack compatility | 6.1 or higher | -+----------------------------------+-------------------------------------------+ -| Distribution Supported | Ubuntu | -+----------------------------------+-------------------------------------------+ -| Talligent Sharefile access | Contact openbook@talligent.com for access | -+----------------------------------+-------------------------------------------+ ++----------------------------------+-----------------------------------------------------------------------+ +| **Requirement** | **Version/Comment** | ++==================================+=======================================================================+ +| Mirantis OpenStack compatility | 7.0 or higher | ++----------------------------------+-----------------------------------------------------------------------+ +| Distribution Supported | Ubuntu | ++----------------------------------+-----------------------------------------------------------------------+ +| Talligent Sharefile access | Contact openbook@talligent.com for access | ++----------------------------------+-----------------------------------------------------------------------+ +| Hardware configuration | The hardware configuration (RAM, CPU, disk) required by this plugin | +| | depends on the size of your cloud, but a typical setup would at least | +| | require a dual-core server with 4GB of RAM and at least 500GB of disk | ++----------------------------------+-----------------------------------------------------------------------+ +Limitations +----------- + +A current limitation of this plugin is that it not possible to display in the Fuel web UI the URL where the +Openbook interface can be reached when the deployment has completed. Instructions are provided in the +:ref:`User Guide ` about how you can obtain this URL using the `fuel command line `_. diff --git a/metadata.yaml b/metadata.yaml index 1459469..f1fb313 100644 --- a/metadata.yaml +++ b/metadata.yaml @@ -1,10 +1,10 @@ # Plugin name name: openbook title: Openbook Plugin -version: '1.0.0' +version: '1.1.0' description: Deploys Openbook for billing/invoicing and customer lifecycle management for OpenStack. Openbook URL schema is https://:8443/Openbook -fuel_version: ['6.1', '7.0'] +fuel_version: ['7.0'] licenses: ['Apache License Version 2.0'] authors: ['Talligent Inc.'] homepage: 'https://github.com/openstack/fuel-plugin-openbook' @@ -17,11 +17,6 @@ releases: mode: ['ha'] deployment_scripts_path: deployment_scripts/ repository_path: repositories/ubuntu - - os: ubuntu - version: 2014.2-6.1 - mode: ['ha', 'multinode'] - deployment_scripts_path: deployment_scripts/ - repository_path: repositories/ubuntu # Version of plugin package -package_version: '2.0.0' +package_version: '3.0.0' diff --git a/network_roles.yaml b/network_roles.yaml index f7fc2f7..200b24e 100644 --- a/network_roles.yaml +++ b/network_roles.yaml @@ -8,7 +8,7 @@ # Should be true if network role requires gateway being set gateway: false vip: - - name: "openbook_vip_public" + - name: "openbook_public" namespace: "haproxy" - node_roles: ["base-os"] + node_roles: ["openbook"] diff --git a/pre_build_hook b/pre_build_hook index 5ddb794..074c603 100755 --- a/pre_build_hook +++ b/pre_build_hook @@ -4,63 +4,60 @@ set -eux . "$(dirname "$(readlink -f "$0")")"/functions.sh # Packages needed for MariaDB -download_package http://ftp.osuosl.org/pub/mariadb/repo/10.0/ubuntu/pool/main/m/mariadb-10.0/mysql-common_10.0.21+maria-1~trusty_all.deb \ -http://ftp.osuosl.org/pub/mariadb/repo/10.0/ubuntu/pool/main/m/mariadb-10.0/mariadb-common_10.0.21+maria-1~trusty_all.deb \ -http://ftp.osuosl.org/pub/mariadb/repo/10.0/ubuntu/pool/main/m/mariadb-10.0/libmariadbclient18_10.0.21+maria-1~trusty_amd64.deb \ -http://ftp.osuosl.org/pub/mariadb/repo/10.0/ubuntu/pool/main/m/mariadb-10.0/libmysqlclient18_10.0.21+maria-1~trusty_amd64.deb \ -http://ftp.osuosl.org/pub/mariadb/repo/10.0/ubuntu/pool/main/m/mariadb-10.0/mariadb-client-core-10.0_10.0.21+maria-1~trusty_amd64.deb \ -http://ftp.osuosl.org/pub/mariadb/repo/10.0/ubuntu/pool/main/m/mariadb-10.0/mariadb-client-10.0_10.0.21+maria-1~trusty_amd64.deb \ -http://ftp.osuosl.org/pub/mariadb/repo/10.0/ubuntu/pool/main/m/mariadb-10.0/mariadb-server-core-10.0_10.0.21+maria-1~trusty_amd64.deb \ -http://ftp.osuosl.org/pub/mariadb/repo/10.0/ubuntu/pool/main/m/mariadb-10.0/mariadb-server-10.0_10.0.21+maria-1~trusty_amd64.deb \ -http://ftp.osuosl.org/pub/mariadb/repo/10.0/ubuntu/pool/main/m/mariadb-10.0/mariadb-server_10.0.21+maria-1~trusty_all.deb \ -http://nova.clouds.archive.ubuntu.com/ubuntu/pool/main/liba/libaio/libaio1_0.3.109-4_amd64.deb \ -http://nova.clouds.archive.ubuntu.com/ubuntu/pool/main/r/readline5/libreadline5_5.2+dfsg-2_amd64.deb \ -http://nova.clouds.archive.ubuntu.com/ubuntu/pool/main/libd/libdbi-perl/libdbi-perl_1.630-1_amd64.deb \ -http://nova.clouds.archive.ubuntu.com/ubuntu/pool/main/libd/libdbd-mysql-perl/libdbd-mysql-perl_4.025-1_amd64.deb \ -http://nova.clouds.archive.ubuntu.com/ubuntu/pool/main/libh/libhtml-template-perl/libhtml-template-perl_2.95-1_all.deb - +download_package http://ftp.osuosl.org/pub/mariadb/repo/10.0/ubuntu/pool/main/m/mariadb-10.0/mysql-common_10.0.22+maria-1~trusty_all.deb \ +http://ftp.osuosl.org/pub/mariadb/repo/10.0/ubuntu/pool/main/m/mariadb-10.0/mariadb-common_10.0.22+maria-1~trusty_all.deb \ +http://ftp.osuosl.org/pub/mariadb/repo/10.0/ubuntu/pool/main/m/mariadb-10.0/libmariadbclient18_10.0.22+maria-1~trusty_amd64.deb \ +http://ftp.osuosl.org/pub/mariadb/repo/10.0/ubuntu/pool/main/m/mariadb-10.0/libmysqlclient18_10.0.22+maria-1~trusty_amd64.deb \ +http://ftp.osuosl.org/pub/mariadb/repo/10.0/ubuntu/pool/main/m/mariadb-10.0/mariadb-client-core-10.0_10.0.22+maria-1~trusty_amd64.deb \ +http://ftp.osuosl.org/pub/mariadb/repo/10.0/ubuntu/pool/main/m/mariadb-10.0/mariadb-client-10.0_10.0.22+maria-1~trusty_amd64.deb \ +http://ftp.osuosl.org/pub/mariadb/repo/10.0/ubuntu/pool/main/m/mariadb-10.0/mariadb-server-core-10.0_10.0.22+maria-1~trusty_amd64.deb \ +http://ftp.osuosl.org/pub/mariadb/repo/10.0/ubuntu/pool/main/m/mariadb-10.0/mariadb-server-10.0_10.0.22+maria-1~trusty_amd64.deb \ +http://archive.ubuntu.com/ubuntu/pool/main/liba/libaio/libaio1_0.3.109-4_amd64.deb \ +http://archive.ubuntu.com/ubuntu/pool/main/libd/libdbi-perl/libdbi-perl_1.630-1_amd64.deb \ +http://archive.ubuntu.com/ubuntu/pool/main/libd/libdbd-mysql-perl/libdbd-mysql-perl_4.025-1_amd64.deb \ +http://archive.ubuntu.com/ubuntu/pool/main/libh/libhtml-template-perl/libhtml-template-perl_2.95-1_all.deb # Packages needed for Tomcat -download_package http://nova.clouds.archive.ubuntu.com/ubuntu/pool/main/liba/libasyncns/libasyncns0_0.8-4ubuntu2_amd64.deb \ -http://nova.clouds.archive.ubuntu.com/ubuntu/pool/main/a/avahi/libavahi-common-data_0.6.31-4ubuntu1_amd64.deb \ -http://nova.clouds.archive.ubuntu.com/ubuntu/pool/main/a/avahi/libavahi-common3_0.6.31-4ubuntu1_amd64.deb \ -http://nova.clouds.archive.ubuntu.com/ubuntu/pool/main/a/avahi/libavahi-client3_0.6.31-4ubuntu1_amd64.deb \ -http://nova.clouds.archive.ubuntu.com/ubuntu/pool/main/c/cups/libcups2_1.7.2-0ubuntu1.6_amd64.deb \ -http://nova.clouds.archive.ubuntu.com/ubuntu/pool/main/libo/libogg/libogg0_1.3.1-1ubuntu1_amd64.deb \ -http://nova.clouds.archive.ubuntu.com/ubuntu/pool/main/f/flac/libflac8_1.3.0-2ubuntu0.14.04.1_amd64.deb \ -http://nova.clouds.archive.ubuntu.com/ubuntu/pool/main/f/fonts-dejavu/fonts-dejavu-core_2.34-1ubuntu1_all.deb \ -http://nova.clouds.archive.ubuntu.com/ubuntu/pool/main/f/fontconfig/fontconfig-config_2.11.0-0ubuntu4.1_all.deb \ -http://nova.clouds.archive.ubuntu.com/ubuntu/pool/main/f/fontconfig/libfontconfig1_2.11.0-0ubuntu4.1_amd64.deb \ -http://nova.clouds.archive.ubuntu.com/ubuntu/pool/main/libj/libjpeg-turbo/libjpeg-turbo8_1.3.0-0ubuntu2_amd64.deb \ -http://nova.clouds.archive.ubuntu.com/ubuntu/pool/main/l/lcms2/liblcms2-2_2.5-0ubuntu4_amd64.deb \ -http://nova.clouds.archive.ubuntu.com/ubuntu/pool/main/n/nspr/libnspr4_4.10.7-0ubuntu0.14.04.1_amd64.deb \ -http://nova.clouds.archive.ubuntu.com/ubuntu/pool/main/n/nss/libnss3-nssdb_3.19.2-0ubuntu0.14.04.1_all.deb \ -http://nova.clouds.archive.ubuntu.com/ubuntu/pool/main/n/nss/libnss3_3.19.2-0ubuntu0.14.04.1_amd64.deb \ -http://nova.clouds.archive.ubuntu.com/ubuntu/pool/main/p/pcsc-lite/libpcsclite1_1.8.10-1ubuntu1_amd64.deb \ -http://nova.clouds.archive.ubuntu.com/ubuntu/pool/main/libv/libvorbis/libvorbis0a_1.3.2-1.3ubuntu1_amd64.deb \ -http://nova.clouds.archive.ubuntu.com/ubuntu/pool/main/libv/libvorbis/libvorbisenc2_1.3.2-1.3ubuntu1_amd64.deb \ -http://nova.clouds.archive.ubuntu.com/ubuntu/pool/main/libs/libsndfile/libsndfile1_1.0.25-7ubuntu2_amd64.deb \ -http://nova.clouds.archive.ubuntu.com/ubuntu/pool/main/p/pulseaudio/libpulse0_4.0-0ubuntu11.1_amd64.deb \ -http://nova.clouds.archive.ubuntu.com/ubuntu/pool/main/j/java-common/java-common_0.51_all.deb \ -http://nova.clouds.archive.ubuntu.com/ubuntu/pool/main/j/java-common/default-jre-headless_1.7-51_amd64.deb \ -http://nova.clouds.archive.ubuntu.com/ubuntu/pool/main/c/ca-certificates-java/ca-certificates-java_20130815ubuntu1_all.deb \ -http://nova.clouds.archive.ubuntu.com/ubuntu/pool/main/t/tzdata/tzdata_2015f-0ubuntu0.14.04_all.deb \ -http://nova.clouds.archive.ubuntu.com/ubuntu/pool/main/t/tzdata/tzdata-java_2015f-0ubuntu0.14.04_all.deb \ -http://nova.clouds.archive.ubuntu.com/ubuntu/pool/main/libj/libjpeg8-empty/libjpeg8_8c-2ubuntu8_amd64.deb \ -http://nova.clouds.archive.ubuntu.com/ubuntu/pool/main/o/openjdk-7/openjdk-7-jre-headless_7u79-2.5.6-0ubuntu1.14.04.1_amd64.deb \ -http://nova.clouds.archive.ubuntu.com/ubuntu/pool/main/libc/libcommons-collections3-java/libcommons-collections3-java_3.2.1-6_all.deb \ -http://nova.clouds.archive.ubuntu.com/ubuntu/pool/main/c/commons-pool/libcommons-pool-java_1.6-2_all.deb \ -http://nova.clouds.archive.ubuntu.com/ubuntu/pool/main/libc/libcommons-dbcp-java/libcommons-dbcp-java_1.4-3ubuntu1_all.deb \ -http://nova.clouds.archive.ubuntu.com/ubuntu/pool/main/e/ecj/libecj-java_3.9.0-1_all.deb \ -http://nova.clouds.archive.ubuntu.com/ubuntu/pool/main/g/geronimo-jta-1.1-spec/libgeronimo-jta-1.1-spec-java_1.1.1-3ubuntu1_all.deb \ -http://nova.clouds.archive.ubuntu.com/ubuntu/pool/main/t/tomcat7/libservlet3.0-java_7.0.52-1ubuntu0.3_all.deb \ -http://nova.clouds.archive.ubuntu.com/ubuntu/pool/main/t/tomcat7/libtomcat7-java_7.0.52-1ubuntu0.3_all.deb \ -http://nova.clouds.archive.ubuntu.com/ubuntu/pool/main/t/tomcat7/tomcat7-common_7.0.52-1ubuntu0.3_all.deb \ -http://nova.clouds.archive.ubuntu.com/ubuntu/pool/main/t/tomcat7/tomcat7_7.0.52-1ubuntu0.3_all.deb \ -http://nova.clouds.archive.ubuntu.com/ubuntu/pool/main/a/authbind/authbind_2.1.1_amd64.deb +download_package http://archive.ubuntu.com/ubuntu/pool/main/liba/libasyncns/libasyncns0_0.8-4ubuntu2_amd64.deb \ +http://archive.ubuntu.com/ubuntu/pool/main/a/avahi/libavahi-common-data_0.6.31-4ubuntu1_amd64.deb \ +http://archive.ubuntu.com/ubuntu/pool/main/a/avahi/libavahi-common3_0.6.31-4ubuntu1_amd64.deb \ +http://archive.ubuntu.com/ubuntu/pool/main/a/avahi/libavahi-client3_0.6.31-4ubuntu1_amd64.deb \ +http://archive.ubuntu.com/ubuntu/pool/main/c/cups/libcups2_1.7.2-0ubuntu1.6_amd64.deb \ +http://archive.ubuntu.com/ubuntu/pool/main/libo/libogg/libogg0_1.3.1-1ubuntu1_amd64.deb \ +http://archive.ubuntu.com/ubuntu/pool/main/f/flac/libflac8_1.3.0-2ubuntu0.14.04.1_amd64.deb \ +http://archive.ubuntu.com/ubuntu/pool/main/f/fonts-dejavu/fonts-dejavu-core_2.34-1ubuntu1_all.deb \ +http://archive.ubuntu.com/ubuntu/pool/main/f/fontconfig/fontconfig-config_2.11.0-0ubuntu4.1_all.deb \ +http://archive.ubuntu.com/ubuntu/pool/main/f/fontconfig/libfontconfig1_2.11.0-0ubuntu4.1_amd64.deb \ +http://archive.ubuntu.com/ubuntu/pool/main/libj/libjpeg-turbo/libjpeg-turbo8_1.3.0-0ubuntu2_amd64.deb \ +http://archive.ubuntu.com/ubuntu/pool/main/l/lcms2/liblcms2-2_2.5-0ubuntu4_amd64.deb \ +http://archive.ubuntu.com/ubuntu/pool/main/n/nspr/libnspr4_4.10.7-0ubuntu0.14.04.1_amd64.deb \ +http://archive.ubuntu.com/ubuntu/pool/main/n/nss/libnss3-nssdb_3.19.2-0ubuntu0.14.04.1_all.deb \ +http://archive.ubuntu.com/ubuntu/pool/main/n/nss/libnss3_3.19.2-0ubuntu0.14.04.1_amd64.deb \ +http://archive.ubuntu.com/ubuntu/pool/main/p/pcsc-lite/libpcsclite1_1.8.10-1ubuntu1_amd64.deb \ +http://archive.ubuntu.com/ubuntu/pool/main/libv/libvorbis/libvorbis0a_1.3.2-1.3ubuntu1_amd64.deb \ +http://archive.ubuntu.com/ubuntu/pool/main/libv/libvorbis/libvorbisenc2_1.3.2-1.3ubuntu1_amd64.deb \ +http://archive.ubuntu.com/ubuntu/pool/main/libs/libsndfile/libsndfile1_1.0.25-7ubuntu2_amd64.deb \ +http://archive.ubuntu.com/ubuntu/pool/main/p/pulseaudio/libpulse0_4.0-0ubuntu11.1_amd64.deb \ +http://archive.ubuntu.com/ubuntu/pool/main/l/lksctp-tools/libsctp1_1.0.15+dfsg-1_amd64.deb \ +http://archive.ubuntu.com/ubuntu/pool/main/j/java-common/java-common_0.51_all.deb \ +http://archive.ubuntu.com/ubuntu/pool/main/j/java-common/default-jre-headless_1.7-51_amd64.deb \ +http://archive.ubuntu.com/ubuntu/pool/main/c/ca-certificates-java/ca-certificates-java_20130815ubuntu1_all.deb \ +http://archive.ubuntu.com/ubuntu/pool/main/t/tzdata/tzdata-java_2015g-0ubuntu0.14.04_all.deb \ +http://archive.ubuntu.com/ubuntu/pool/main/libj/libjpeg8-empty/libjpeg8_8c-2ubuntu8_amd64.deb \ +http://archive.ubuntu.com/ubuntu/pool/main/o/openjdk-7/openjdk-7-jre-headless_7u85-2.6.1-5ubuntu0.14.04.1_amd64.deb \ +http://archive.ubuntu.com/ubuntu/pool/main/libc/libcommons-collections3-java/libcommons-collections3-java_3.2.1-6_all.deb \ +http://archive.ubuntu.com/ubuntu/pool/main/c/commons-pool/libcommons-pool-java_1.6-2_all.deb \ +http://archive.ubuntu.com/ubuntu/pool/main/libc/libcommons-dbcp-java/libcommons-dbcp-java_1.4-3ubuntu1_all.deb \ +http://archive.ubuntu.com/ubuntu/pool/main/e/ecj/libecj-java_3.9.0-1_all.deb \ +http://archive.ubuntu.com/ubuntu/pool/main/g/geronimo-jta-1.1-spec/libgeronimo-jta-1.1-spec-java_1.1.1-3ubuntu1_all.deb \ +http://archive.ubuntu.com/ubuntu/pool/main/t/tomcat7/libservlet3.0-java_7.0.52-1ubuntu0.3_all.deb \ +http://archive.ubuntu.com/ubuntu/pool/main/t/tomcat7/libtomcat7-java_7.0.52-1ubuntu0.3_all.deb \ +http://archive.ubuntu.com/ubuntu/pool/main/l/lksctp-tools/lksctp-tools_1.0.15+dfsg-1_amd64.deb \ +http://archive.ubuntu.com/ubuntu/pool/main/t/tomcat7/tomcat7-common_7.0.52-1ubuntu0.3_all.deb \ +http://archive.ubuntu.com/ubuntu/pool/main/t/tomcat7/tomcat7_7.0.52-1ubuntu0.3_all.deb \ +http://archive.ubuntu.com/ubuntu/pool/main/a/authbind/authbind_2.1.1_amd64.deb + # Additional dependencies -download_package http://nova.clouds.archive.ubuntu.com/ubuntu/pool/main/a/autogen/libopts25_5.18-2ubuntu2_amd64.deb \ -http://nova.clouds.archive.ubuntu.com/ubuntu/pool/main/n/ntp/ntp_4.2.6.p5+dfsg-3ubuntu2.14.04.3_amd64.deb \ -http://nova.clouds.archive.ubuntu.com/ubuntu/pool/main/u/unzip/unzip_6.0-9ubuntu1.3_amd64.deb +download_package http://archive.ubuntu.com/ubuntu/pool/main/u/unzip/unzip_6.0-9ubuntu1.4_amd64.deb diff --git a/specs/openbook-plugin.rst b/specs/openbook-plugin.rst index 08625c1..10530ae 100644 --- a/specs/openbook-plugin.rst +++ b/specs/openbook-plugin.rst @@ -1,127 +1,150 @@ -************************************************************ -Guide to the Openbook Plugin version 1.0 for Fuel -************************************************************ +.. + This work is licensed under a Creative Commons Attribution 3.0 Unported + License. -This document provides instructions for installing, configuring and using -Openbook plugin for Fuel. + http://creativecommons.org/licenses/by/3.0/legalcode -# As Plugin Guide can have detailed instructions, make a separate file from every -# section below and add them using 'include'. For example files -# structure scheme, see https://wiki.openstack.org/wiki/Fuel/Plugins#Documentation_files_structure +=================================================== +Guide to the Openbook Plugin version 1.1.0 for Fuel +=================================================== -Key terms, acronyms and abbreviations -===================================== +This plugin extends Mirantis OpenStack functionality by adding Openbook customer +onboarding, self-service, and cloud billing / charge-back services. Openbook is cloud +management and reporting software that simplifies the tasks of planning, charging, +and predicting capacity requirements for cloud services. Talligent gives the +administrator and tenant real-time visibility of resources and accrued costs, as well +as the ability to scale up or down according to budget and resource requirements. -Term1 - Provides .... +For the Service Provider: Openbook by Talligent is the quickest path to monetizing +OpenStack services. Openbook enables service providers to sell on demand cloud services +based on the OpenStack platform, including dedicated instances, networks, storage, +applications, virtual desktops, and other infrastructure elements or services. Services +can be packaged the way you want: by tiers, metered and sold by the hour, delivered +on-site or as part of a shared infrastructure. Cloud service providers can expand their +customer reach and strengthen their existing relationship via resellers. Openbook natively +supports reseller workflow with corresponding rate plans that support taxation, currency +conversion, proration, discounts, and promotional codes independent from the master +service provider. -Abbreviation1 - Provides .... +For the Enterprise: Without visibility into the growth of cloud services by department, +it is difficult to accurately predict how much new capacity to add, and when. Openbook +is designed to quickly answer key management questions about the environment – largest +tenants, host utilization, service growth, and project costs. Openbook has a robust +ratings engine tuned to OpenStack and VMware clouds to support hybrid cloud reporting. +Costs can be assigned by tenant, business unit, VP, project, or other cost center. +Managers are automatically updated on their cloud costs as well as performance against +budget. Detailed reports of growth trends, utilization, and seasonal patterns allow +you to better plan for new capacity. - -============= +Problem description +=================== -Provide common information about the plugin (what functionality it -provides, what component it extends). You can also add schemes with -a detailed explanation of plugin architecture. +Cloud owners need a tool to simplify the planning, charging, and predicting capacity +requirements for cloud services. -License -------- +Proposed change +=============== -If your plugin contains any components, -please provide the list of those with licenses. -If no extra components are present (e.g. like in VPNaaS plugin), -provide a short note (like ‘No components are present’). +Implement a Fuel plugin which will deploy Openbook and configure it to connect to a +Mirantis OpenStack environment. -======================= ================== -Component License type -======================= ================== -Component1 -Component2 -============================================ - - -Requirements +Alternatives ------------ -======================= ================== -Requirement Version/Comment -======================= ================== -Fuel 6.x -Component1 -Component2 -============================================ +It also might be implemented as a Heat template. -Limitations +Data model impact +----------------- + +None + +REST API impact +--------------- + +Openbook gathers data by connecting to the OpenStack API endpoints. + +Upgrade impact +-------------- + +Fuel currently supports upgrading of Fuel Master node, so it is necessary to +install a new version of plugin which supports new Fuel release. + +Security impact +--------------- + +None + +Notifications impact +-------------------- + +Openbook sends e-mails to project users with detailed monthly usage (invoices). + +Other end user impact +--------------------- + +Openbook plugin uses Fuel pluggable architecture. +After it is installed, the user can enable the plugin on the Setting tab of the Fuel web UI +and customize plugins settings. + +Performance Impact +------------------ + +The hardware configuration (RAM, CPU, disk) required by this plugin +depends on the size of your cloud, but a typical setup would at least +require a dual-core server with 4GB of RAM and at least 500GB of disk. + +Other deployer impact +--------------------- + +None + +Developer impact +---------------- + +None + +Implementation +============== + +Assignee(s) ----------- -Provide information about requirements -(for example, what component version is supported, what software -dependencies, hardware and resources like disk space and CPU are required). +Primary assignee: -Installation Guide -================== +- Jeremy fluhmann - developer -Provide step-by-step instructions for plugin installation. -If plugin requires pre-installation steps like backend configuration, -you should also add this information here. +Other contributors: - backend configuration ------------------------------------ +- Stepan Rogov - developer +- Vyacheslav Struk - developer +- Irina Povolotskaya - technical writer -To configure backend, follow these steps: +Work Items +---------- -#. Do <>. +* Create Fuel plugin bundle, which contains deployments scripts, puppet modules and metadata +* Implement puppet manifests for deploying and configuring Openbook +* Test Openbook plugin +* Create Documentation -#. Configure <>. - installation --------------------------- - -To install plugin, follow these steps: - -#. Do <>. - -#. Configure <>. - -User Guide -========== - -Provide instructions for using and operating this plugin, -including commands and their output, logs and troubleshooting -information. - -How to <> ---------- - -To <>, follow these steps: - -#. ... - -#. ... - -How to <> ---------- - -To <>, follow these steps: - -#. ... - -#. ... - -Known issues +Dependencies ============ -If present, provide information about known -issues and workarounds. You can also add links to LaunchPad under each issue. +* Fuel 7.0 +* Talligent Sharefile access -Appendix -======== - -Provide any links to external resources or documentation here. -#. Link 1 -#. Link 2 +Testing +======= +* Prepare a test plan +* Test the plugin by deploying environments with all Fuel deployment modes +Documentation Impact +==================== +* Deployment Guide +* User Guide (which features the plugin provides, how to use them in the deployed OpenStack environment) +* Test Plan +* Test Report diff --git a/tasks.yaml b/tasks.yaml index c675dda..6b4accb 100644 --- a/tasks.yaml +++ b/tasks.yaml @@ -1,4 +1,4 @@ -- role: ['base-os'] +- role: ['openbook'] stage: post_deployment/8000 type: puppet parameters: @@ -6,21 +6,14 @@ puppet_modules: puppet/modules timeout: 300 -- role: ['base-os'] - stage: post_deployment/8100 - type: puppet - parameters: - puppet_manifest: puppet/manifests/netconfig.pp - puppet_modules: /etc/puppet/modules - timeout: 720 -- role: ['base-os'] +- role: ['openbook'] stage: post_deployment/8900 type: puppet parameters: puppet_manifest: puppet/manifests/deploy.pp puppet_modules: puppet/modules timeout: 1500 -- role: ['base-os'] +- role: ['openbook'] stage: post_deployment/8900 type: puppet parameters: