diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 9c0a96c..0000000 --- a/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -.tox -.build -*.pyc -*.rpm -doc/build diff --git a/LICENSE b/LICENSE deleted file mode 100644 index 8dada3e..0000000 --- a/LICENSE +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright {yyyy} {name of copyright owner} - - 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. diff --git a/README.md b/README.md deleted file mode 100644 index ca3e48a..0000000 --- a/README.md +++ /dev/null @@ -1,6 +0,0 @@ -fuel-plugin-fortinet -============ - -Fuel plugin to deploy Fortinet FortiGate ML2 plugin. This Fuel plugins works -on Fuel 9.0 for OpenStack Mitaka version. -For liberty version, please use stable/8.0 branch to work with Fuel 8.0. diff --git a/README.rst b/README.rst new file mode 100644 index 0000000..86e34d6 --- /dev/null +++ b/README.rst @@ -0,0 +1,10 @@ +This project is no longer maintained. + +The contents of this repository are still available in the Git +source code management system. To see the contents of this +repository before it reached its end of life, please check out the +previous commit with "git checkout HEAD^1". + +For any further questions, please email +openstack-discuss@lists.openstack.org or join #openstack-dev on +Freenode. diff --git a/components.yaml b/components.yaml deleted file mode 100644 index b533c10..0000000 --- a/components.yaml +++ /dev/null @@ -1,12 +0,0 @@ -# This file contains wizard components descriptions that are pretty similar to -# the `environment_config.yaml`. -# Please, take a look at following link for the details: -# - https://blueprints.launchpad.net/fuel/+spec/component-registry -# - https://specs.openstack.org/openstack/fuel-specs/specs/8.0/component-registry.html - -- name: additional_service:fuel-plugin-fortinet - compatible: [] - requires: [] - incompatible: [] - label: "Plugin label, that will be shown on UI" - description: "Component description (optional)" diff --git a/deployment_scripts/puppet/manifests/configure-fortigate-fwaas.pp b/deployment_scripts/puppet/manifests/configure-fortigate-fwaas.pp deleted file mode 100644 index bd779fc..0000000 --- a/deployment_scripts/puppet/manifests/configure-fortigate-fwaas.pp +++ /dev/null @@ -1,20 +0,0 @@ -# -# Copyright 2016 Fortinet 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. -# -include neutron::params::openstack -if $neutron::params::openstack::fgt_fwaas_enable { - notice('MODULAR: fortinet configure_fortigate_fwaas') - include neutron::configure_fortigate_fwaas -} diff --git a/deployment_scripts/puppet/manifests/configure-fortigate-ml2.pp b/deployment_scripts/puppet/manifests/configure-fortigate-ml2.pp deleted file mode 100644 index 3d4caaa..0000000 --- a/deployment_scripts/puppet/manifests/configure-fortigate-ml2.pp +++ /dev/null @@ -1,17 +0,0 @@ -# -# Copyright 2016 Fortinet 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. -# -notice('MODULAR: fortinet configure_fortigate_ml2') -include neutron::configure_fortigate_ml2 diff --git a/deployment_scripts/puppet/manifests/configure-fortigate-nova.pp b/deployment_scripts/puppet/manifests/configure-fortigate-nova.pp deleted file mode 100644 index 1e3578f..0000000 --- a/deployment_scripts/puppet/manifests/configure-fortigate-nova.pp +++ /dev/null @@ -1,18 +0,0 @@ -# -# Copyright 2016 Fortinet 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. -# -notice('MODULAR: fortinet configure_nova_for_fortigate') -include nova::configure_nova_for_fortigate - diff --git a/deployment_scripts/puppet/modules/neutron/manifests/configure_fortigate_fwaas.pp b/deployment_scripts/puppet/modules/neutron/manifests/configure_fortigate_fwaas.pp deleted file mode 100644 index a2b2de3..0000000 --- a/deployment_scripts/puppet/modules/neutron/manifests/configure_fortigate_fwaas.pp +++ /dev/null @@ -1,61 +0,0 @@ -# -# Copyright 2016 Fortinet 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. -# - -class neutron::configure_fortigate_fwaas { - include neutron::params::openstack - - package { 'neutron-fwaas': - ensure => present, - name => $neutron::params::openstack::fwaas_package, - notify => Service['neutron-server'], - } - - ini_setting { 'neutron.conf service_plugin': - ensure => present, - path => '/etc/neutron/neutron.conf', - section => 'DEFAULT', - key_val_separator => '=', - setting => 'service_plugins', - value => 'router_fortinet,fwaas_fortinet', - notify => Service['neutron-server'], - } - - exec { 'neutron-db-sync': - command => 'neutron-db-manage --config-file /etc/neutron/neutron.conf \ ---config-file /etc/neutron/plugin.ini --service fwaas upgrade head', - path => '/usr/bin', - require => Package['neutron-fwaas'], - notify => Service['neutron-server'], - } - - exec { 'enable_fwaas_dashboard': - command => "/bin/sed -i \"s/'enable_firewall': False/'enable_firewall': True/\" ${neutron::params::openstack::dashboard_settings}", - unless => "/bin/egrep \"'enable_firewall': True\" \ -${fwaas::params::openstack::dashboard_settings}", - require => Package['neutron-fwaas'], - notify => Service[$neutron::params::openstack::dashboard_service], - } - - service { 'neutron-server': - ensure => running, - enable => true, - } - - service { $neutron::params::openstack::dashboard_service: - ensure => running, - enable => true, - } -} diff --git a/deployment_scripts/puppet/modules/neutron/manifests/configure_fortigate_ml2.pp b/deployment_scripts/puppet/modules/neutron/manifests/configure_fortigate_ml2.pp deleted file mode 100644 index ce023f3..0000000 --- a/deployment_scripts/puppet/modules/neutron/manifests/configure_fortigate_ml2.pp +++ /dev/null @@ -1,166 +0,0 @@ -# -# Copyright 2016 Fortinet 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. -# - -class neutron::configure_fortigate_ml2 { - include neutron::params::openstack - - package { 'python-pip': - ensure => 'installed', - } - - exec { 'upgrade pip': - command => 'pip install -U pip', - path => '/usr/local/bin/:/usr/bin/:/bin', - require => Package['python-pip'] - } - - package { 'networking-fortinet': - ensure => $neutron::params::openstack::networking_fortinet_version, - provider => 'pip', - require => Exec['upgrade pip'], - notify => Service['neutron-server'], - } - -#Notes:(JerryZhao) until puppet is upgraded to include this fix, -# https://github.com/puppetlabs/puppet/pull/5024, use pip cmd directly. -# package { 'eventlet': -# ensure => latest, -# provider => 'pip', -# require => Exec['upgrade pip'], -# } - -# SSL23_GET_SERVER_HELLO: unknown protocol error when use default eventlet -# on ubuntu, have to reinstall eventlet to work. - exec { 'upgrade eventlet': - command => 'pip install -I --force-reinstall eventlet==0.18.4', - path => '/usr/local/bin/:/usr/bin/:/bin', - require => Exec['upgrade pip'] - } - - exec { 'neutron-db-manage upgrade head': - command => "neutron-db-manage --config-file /etc/neutron/neutron.conf \ ---config-file /etc/neutron/plugin.ini upgrade head", - path => '/usr/local/bin/:/usr/bin/:/bin', - notify => Service['neutron-server'], - require => Package['networking-fortinet'] - } - - ini_setting { 'neutron.conf service_plugin': - ensure => present, - path => '/etc/neutron/neutron.conf', - section => 'DEFAULT', - key_val_separator => '=', - setting => 'service_plugins', - value => 'router_fortinet', - notify => Service['neutron-server'], - } - - ini_setting { 'plugin.ini mechanism_drivers': - ensure => present, - path => '/etc/neutron/plugin.ini', - section => 'ml2', - key_val_separator => '=', - setting => 'mechanism_drivers', - value => 'fortinet,openvswitch', - notify => Service['neutron-server'], - } - - ini_setting { 'plugin.ini fgt address': - ensure => present, - path => '/etc/neutron/plugin.ini', - section => 'ml2_fortinet', - key_val_separator => '=', - setting => 'address', - value => $neutron::params::openstack::fgt_host_ip, - notify => Service['neutron-server'], - } - - ini_setting { 'plugin.ini fgt username': - ensure => present, - path => '/etc/neutron/plugin.ini', - section => 'ml2_fortinet', - key_val_separator => '=', - setting => 'username', - value => $neutron::params::openstack::fgt_username, - notify => Service['neutron-server'], - } - - ini_setting { 'plugin.ini fgt password': - ensure => present, - path => '/etc/neutron/plugin.ini', - section => 'ml2_fortinet', - key_val_separator => '=', - setting => 'password', - value => $neutron::params::openstack::fgt_password, - notify => Service['neutron-server'], - } - - ini_setting { 'plugin.ini fgt api protocol': - ensure => present, - path => '/etc/neutron/plugin.ini', - section => 'ml2_fortinet', - key_val_separator => '=', - setting => 'protocol', - value => $neutron::params::openstack::fgt_protocol, - notify => Service['neutron-server'], - } - - ini_setting { 'plugin.ini fgt api port': - ensure => present, - path => '/etc/neutron/plugin.ini', - section => 'ml2_fortinet', - key_val_separator => '=', - setting => 'port', - value => $neutron::params::openstack::fgt_port, - notify => Service['neutron-server'], - } - - ini_setting { 'plugin.ini fgt internal interface': - ensure => present, - path => '/etc/neutron/plugin.ini', - section => 'ml2_fortinet', - key_val_separator => '=', - setting => 'int_interface', - value => $neutron::params::openstack::fgt_int_port, - notify => Service['neutron-server'], - } - - ini_setting { 'plugin.ini fgt external interface': - ensure => present, - path => '/etc/neutron/plugin.ini', - section => 'ml2_fortinet', - key_val_separator => '=', - setting => 'ext_interface', - value => $neutron::params::openstack::fgt_ext_port, - notify => Service['neutron-server'], - } - - ini_setting { 'plugin.ini fgt npu availability': - ensure => present, - path => '/etc/neutron/plugin.ini', - section => 'ml2_fortinet', - key_val_separator => '=', - setting => 'npu_available', - value => $neutron::params::openstack::fgt_npu, - notify => Service['neutron-server'], - } - - service { 'neutron-server': - ensure => running, - enable => true, - } - -} diff --git a/deployment_scripts/puppet/modules/neutron/manifests/params/openstack.pp b/deployment_scripts/puppet/modules/neutron/manifests/params/openstack.pp deleted file mode 100644 index e79e78c..0000000 --- a/deployment_scripts/puppet/modules/neutron/manifests/params/openstack.pp +++ /dev/null @@ -1,48 +0,0 @@ -# -# Copyright 2016 Fortinet 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. -# - -class neutron::params::openstack { - $fgt_hash = hiera('fuel-plugin-fortinet') - - $networking_fortinet_version = '2.0.0.0b1' - - if($::osfamily == 'Redhat') { - $fwaas_package = 'python-neutron-fwaas' - $dashboard_service = 'httpd' - $dashboard_settings = '/etc/openstack-dashboard/local_settings' - - } elsif($::osfamily == 'Debian') { - - $fwaas_package = 'python-neutron-fwaas' - $dashboard_service = 'apache2' - $dashboard_settings = '/etc/openstack-dashboard/local_settings.py' - - } else { - - fail("Unsupported osfamily ${::osfamily}") - - } - - $fgt_host_ip = $fgt_hash['fortigate_api_ip'] - $fgt_username = $fgt_hash['fortigate_api_username'] - $fgt_password = $fgt_hash['fortigate_api_password'] - $fgt_protocol = $fgt_hash['fortigate_api_protocol'] - $fgt_port = $fgt_hash['fortigate_api_port'] - $fgt_int_port = $fgt_hash['fortigate_tenant_port'] - $fgt_ext_port = $fgt_hash['fortigate_external_port'] - $fgt_npu = $fgt_hash['fortigate_npu_available'] - $fgt_fwaas_enable = $fgt_hash['fortigate_fwaas_enable'] -} diff --git a/deployment_scripts/puppet/modules/nova/manifests/configure_nova_for_fortigate.pp b/deployment_scripts/puppet/modules/nova/manifests/configure_nova_for_fortigate.pp deleted file mode 100644 index 2add47f..0000000 --- a/deployment_scripts/puppet/modules/nova/manifests/configure_nova_for_fortigate.pp +++ /dev/null @@ -1,33 +0,0 @@ -# -# Copyright 2016 Fortinet 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. -# - -class nova::configure_nova_for_fortigate { - - ini_setting { 'nova.conf force config drive': - ensure => present, - path => '/etc/nova/nova.conf', - section => 'DEFAULT', - key_val_separator => '=', - setting => 'force_config_drive', - value => 'True', - notify => Service['nova-compute'], - } - - service { 'nova-compute': - ensure => running, - enable => true, - } -} diff --git a/deployment_tasks.yaml b/deployment_tasks.yaml deleted file mode 100644 index 9ca6685..0000000 --- a/deployment_tasks.yaml +++ /dev/null @@ -1,67 +0,0 @@ -# These tasks will be merged into deployment graph. Here you -# can specify new tasks for any roles, even built-in ones. - -- id: configure-fortigate-ml2 - type: puppet - role: [controller, primary-controller] - version: 2.0.0 # tasks v2.0.0 is supporting task-based deployment - required_for: [configure-fortigate-fwaas] - requires: [post_deployment_start] - parameters: - puppet_manifest: puppet/manifests/configure-fortigate-ml2.pp - puppet_modules: puppet/modules:/etc/puppet/modules - timeout: 360 - -- id: configure-fortigate-fwaas - type: puppet - role: [controller, primary-controller] - version: 2.0.0 # tasks v2.0.0 is supporting task-based deployment - required_for: [post_deployment_end] - requires: [configure-fortigate-ml2] - parameters: - puppet_manifest: puppet/manifests/configure-fortigate-fwaas.pp - puppet_modules: puppet/modules:/etc/puppet/modules - timeout: 360 - -- id: configure-fortigate-nova - type: puppet - role: ['compute'] - version: 2.0.0 # tasks v2.0.0 is supporting task-based deployment - required_for: [post_deployment_end] - requires: [post_deployment_start] - parameters: - puppet_manifest: puppet/manifests/configure-fortigate-nova.pp - puppet_modules: puppet/modules:/etc/puppet/modules - timeout: 360 - -- id: primary-openstack-network-agents-l3 - role: [controller, primary-controller] - type: skipped - -- id: openstack-network-agents-l3 - role: [controller, primary-controller] - type: skipped - -- id: primary-openstack-network-agents-dhcp - role: [controller, primary-controller] - type: skipped - -- id: openstack-network-agents-dhcp - role: [controller, primary-controller] - type: skipped - -- id: openstack-network-agents-metadata - role: [controller, primary-controller] - type: skipped - -- id: primary-openstack-network-agents-metadata - role: [controller, primary-controller] - type: skipped - -- id: openstack-network-networks - role: [controller, primary-controller] - type: skipped - -- id: openstack-network-routers - role: [controller, primary-controller] - type: skipped diff --git a/doc/Makefile b/doc/Makefile deleted file mode 100644 index 7cd3d6b..0000000 --- a/doc/Makefile +++ /dev/null @@ -1,177 +0,0 @@ -# Makefile for Sphinx documentation -# - -# You can set these variables from the command line. -SPHINXOPTS = -SPHINXBUILD = sphinx-build -PAPER = -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/) -endif - -# Internal variables. -PAPEROPT_a4 = -D latex_paper_size=a4 -PAPEROPT_letter = -D latex_paper_size=letter -ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source -# the i18n builder cannot share the environment and doctrees with the others -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 - -help: - @echo "Please use \`make ' where is one of" - @echo " html to make standalone HTML files" - @echo " dirhtml to make HTML files named index.html in directories" - @echo " singlehtml to make a single large HTML file" - @echo " pickle to make pickle files" - @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 " devhelp to make HTML files and a Devhelp project" - @echo " epub to make an epub" - @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" - @echo " text to make text files" - @echo " man to make manual pages" - @echo " texinfo to make Texinfo files" - @echo " info to make Texinfo files and run them through makeinfo" - @echo " gettext to make PO message catalogs" - @echo " changes to make an overview of all changed/added/deprecated items" - @echo " xml to make Docutils-native XML files" - @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)" - -clean: - rm -rf $(BUILDDIR)/* - -html: - $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html - @echo - @echo "Build finished. The HTML pages are in $(BUILDDIR)/html." - -dirhtml: - $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml - @echo - @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml." - -singlehtml: - $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml - @echo - @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml." - -pickle: - $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle - @echo - @echo "Build finished; now you can process the pickle files." - -json: - $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json - @echo - @echo "Build finished; now you can process the JSON files." - -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." - -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/fuel-plugin-fortinet.qhcp" - @echo "To view the help file:" - @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/fuel-plugin-fortinet.qhc" - -devhelp: - $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp - @echo - @echo "Build finished." - @echo "To view the help file:" - @echo "# mkdir -p $$HOME/.local/share/devhelp/fuel-plugin-fortinet" - @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/fuel-plugin-fortinet" - @echo "# devhelp" - -epub: - $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub - @echo - @echo "Build finished. The epub file is in $(BUILDDIR)/epub." - -latex: - $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex - @echo - @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex." - @echo "Run \`make' in that directory to run these through (pdf)latex" \ - "(use \`make latexpdf' here to do that automatically)." - -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." - -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." - -text: - $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text - @echo - @echo "Build finished. The text files are in $(BUILDDIR)/text." - -man: - $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man - @echo - @echo "Build finished. The manual pages are in $(BUILDDIR)/man." - -texinfo: - $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo - @echo - @echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo." - @echo "Run \`make' in that directory to run these through makeinfo" \ - "(use \`make info' here to do that automatically)." - -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." - -gettext: - $(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale - @echo - @echo "Build finished. The message catalogs are in $(BUILDDIR)/locale." - -changes: - $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes - @echo - @echo "The overview file is in $(BUILDDIR)/changes." - -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." - -doctest: - $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest - @echo "Testing of doctests in the sources finished, look at the " \ - "results in $(BUILDDIR)/doctest/output.txt." - -xml: - $(SPHINXBUILD) -b xml $(ALLSPHINXOPTS) $(BUILDDIR)/xml - @echo - @echo "Build finished. The XML files are in $(BUILDDIR)/xml." - -pseudoxml: - $(SPHINXBUILD) -b pseudoxml $(ALLSPHINXOPTS) $(BUILDDIR)/pseudoxml - @echo - @echo "Build finished. The pseudo-XML files are in $(BUILDDIR)/pseudoxml." diff --git a/doc/source/_static/create_env1.png b/doc/source/_static/create_env1.png deleted file mode 100644 index 3c8f23c..0000000 Binary files a/doc/source/_static/create_env1.png and /dev/null differ diff --git a/doc/source/_static/create_env2.png b/doc/source/_static/create_env2.png deleted file mode 100644 index 2f4b616..0000000 Binary files a/doc/source/_static/create_env2.png and /dev/null differ diff --git a/doc/source/_static/create_env3.png b/doc/source/_static/create_env3.png deleted file mode 100644 index aedccbf..0000000 Binary files a/doc/source/_static/create_env3.png and /dev/null differ diff --git a/doc/source/_static/deployment_success.png b/doc/source/_static/deployment_success.png deleted file mode 100644 index 65f8795..0000000 Binary files a/doc/source/_static/deployment_success.png and /dev/null differ diff --git a/doc/source/_static/fortigate.png b/doc/source/_static/fortigate.png deleted file mode 100644 index 7297ace..0000000 Binary files a/doc/source/_static/fortigate.png and /dev/null differ diff --git a/doc/source/_static/horizon.png b/doc/source/_static/horizon.png deleted file mode 100644 index d583df8..0000000 Binary files a/doc/source/_static/horizon.png and /dev/null differ diff --git a/doc/source/_static/networking_default.png b/doc/source/_static/networking_default.png deleted file mode 100644 index bf84e35..0000000 Binary files a/doc/source/_static/networking_default.png and /dev/null differ diff --git a/doc/source/_static/networking_fortinet.png b/doc/source/_static/networking_fortinet.png deleted file mode 100644 index 1b4ac11..0000000 Binary files a/doc/source/_static/networking_fortinet.png and /dev/null differ diff --git a/doc/source/_static/networking_l3.png b/doc/source/_static/networking_l3.png deleted file mode 100644 index d6947b6..0000000 Binary files a/doc/source/_static/networking_l3.png and /dev/null differ diff --git a/doc/source/_static/networking_ml2.png b/doc/source/_static/networking_ml2.png deleted file mode 100644 index 23d2488..0000000 Binary files a/doc/source/_static/networking_ml2.png and /dev/null differ diff --git a/doc/source/_static/nodes_interface1.png b/doc/source/_static/nodes_interface1.png deleted file mode 100644 index 2354fc5..0000000 Binary files a/doc/source/_static/nodes_interface1.png and /dev/null differ diff --git a/doc/source/_static/nodes_interface2.png b/doc/source/_static/nodes_interface2.png deleted file mode 100644 index fcc14c5..0000000 Binary files a/doc/source/_static/nodes_interface2.png and /dev/null differ diff --git a/doc/source/conf.py b/doc/source/conf.py deleted file mode 100644 index 5eb18f1..0000000 --- a/doc/source/conf.py +++ /dev/null @@ -1,340 +0,0 @@ -# -*- coding: utf-8 -*- -# -# fuel-plugin-fortinet documentation build configuration file, created by -# sphinx-quickstart on Tue June 7 12:48:35 2016. -# -# This file is execfile()d with the current directory set to its -# containing dir. -# -# Note that not all possible configuration values are present in this -# autogenerated file. -# -# All configuration values have a default; values that are commented out -# serve to show the default. - -import sys -import os - -# If extensions (or modules to document with autodoc) are in another directory, -# add these directories to sys.path here. If the directory is relative to the -# documentation root, use os.path.abspath to make it absolute, like shown here. -#sys.path.insert(0, os.path.abspath('.')) - -# -- General configuration ------------------------------------------------ - -# If your documentation needs a minimal Sphinx version, state it here. -#needs_sphinx = '1.0' - -# Add any Sphinx extension module names here, as strings. They can be -# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom -# ones. -extensions = [ -# 'sphinx.ext.todo', -# 'sphinx.ext.coverage', -] - -# Add any paths that contain templates here, relative to this directory. -templates_path = ['_templates'] - -# The suffix of source filenames. -source_suffix = '.rst' - -# The encoding of source files. -#source_encoding = 'utf-8-sig' - -# The master toctree document. -master_doc = 'index' - -# General information about the project. -project = u'The Fortinet plugin for Fuel' -copyright = u'2016, Fortinet Inc.' - -# The version info for the project you're documenting, acts as replacement for -# |version| and |release|, also used in various other places throughout the -# built documents. -# -# The short X.Y version. -version = '1.0' -# The full version, including alpha/beta/rc tags. -release = '1.0-1.0.0-1' - -# The language for content autogenerated by Sphinx. Refer to documentation -# for a list of supported languages. -#language = None - -# There are two options for replacing |today|: either, you set today to some -# non-false value, then it is used: -#today = '' -# Else, today_fmt is used as the format for a strftime call. -#today_fmt = '%B %d, %Y' - -# List of patterns, relative to source directory, that match files and -# directories to ignore when looking for source files. -exclude_patterns = [] - -# The reST default role (used for this markup: `text`) to use for all -# documents. -#default_role = None - -# If true, '()' will be appended to :func: etc. cross-reference text. -#add_function_parentheses = True - -# If true, the current module name will be prepended to all description -# unit titles (such as .. function::). -#add_module_names = True - -# If true, sectionauthor and moduleauthor directives will be shown in the -# output. They are ignored by default. -#show_authors = False - -# The name of the Pygments (syntax highlighting) style to use. -pygments_style = 'sphinx' - -# A list of ignored prefixes for module index sorting. -#modindex_common_prefix = [] - -# If true, keep warnings as "system message" paragraphs in the built documents. -#keep_warnings = False - - -# -- Options for HTML output ---------------------------------------------- - -# The theme to use for HTML and HTML Help pages. See the documentation for -# a list of builtin themes. -html_theme = 'default' - -# Theme options are theme-specific and customize the look and feel of a theme -# further. For a list of options available for each theme, see the -# documentation. -#html_theme_options = {} - -# Add any paths that contain custom themes here, relative to this directory. -#html_theme_path = [] - -# The name for this set of Sphinx documents. If None, it defaults to -# " v documentation". -#html_title = None - -# A shorter title for the navigation bar. Default is the same as html_title. -#html_short_title = None - -# The name of an image file (relative to this directory) to place at the top -# of the sidebar. -#html_logo = None - -# The name of an image file (within the static path) to use as favicon of the -# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 -# pixels large. -#html_favicon = None - -# Add any paths that contain custom static files (such as style sheets) here, -# relative to this directory. They are copied after the builtin static files, -# so a file named "default.css" will overwrite the builtin "default.css". -html_static_path = ['_static'] - -# Add any extra paths that contain custom files (such as robots.txt or -# .htaccess) here, relative to this directory. These files are copied -# directly to the root of the documentation. -#html_extra_path = [] - -# If not '', a 'Last updated on:' timestamp is inserted at every page bottom, -# using the given strftime format. -#html_last_updated_fmt = '%b %d, %Y' - -# If true, SmartyPants will be used to convert quotes and dashes to -# typographically correct entities. -#html_use_smartypants = True - -# Custom sidebar templates, maps document names to template names. -#html_sidebars = {} - -# Additional templates that should be rendered to pages, maps page names to -# template names. -#html_additional_pages = {} - -# If false, no module index is generated. -#html_domain_indices = True - -# If false, no index is generated. -#html_use_index = True - -# If true, the index is split into individual pages for each letter. -#html_split_index = False - -# If true, links to the reST sources are added to the pages. -#html_show_sourcelink = True - -# If true, "Created using Sphinx" is shown in the HTML footer. Default is True. -#html_show_sphinx = True - -# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True. -#html_show_copyright = True - -# If true, an OpenSearch description file will be output, and all pages will -# contain a tag referring to it. The value of this option must be the -# base URL from which the finished HTML is served. -#html_use_opensearch = '' - -# This is the file name suffix for HTML files (e.g. ".xhtml"). -#html_file_suffix = None - -# Output file base name for HTML help builder. -htmlhelp_basename = 'fuel-plugin-fortinet' - - -# -- Options for LaTeX output --------------------------------------------- - -latex_elements = { -# The paper size ('letterpaper' or 'a4paper'). -#'papersize': 'letterpaper', - -# The font size ('10pt', '11pt' or '12pt'). -#'pointsize': '10pt', - -# Additional stuff for the LaTeX preamble. -#'preamble': '', -} - -# Grouping the document tree into LaTeX files. List of tuples -# (source start file, target name, title, -# author, documentclass [howto, manual, or own class]). -latex_documents = [ - ('index', 'fuel-plugin-fortinet.tex', u'The Fortinet Plugin for Fuel Documentation', - u'Fortinet Inc.', 'manual'), -] - -# The name of an image file (relative to this directory) to place at the top of -# the title page. -#latex_logo = None - -# For "manual" documents, if this is true, then toplevel headings are parts, -# not chapters. -#latex_use_parts = False - -# If true, show page references after internal links. -#latex_show_pagerefs = False - -# If true, show URL addresses after external links. -#latex_show_urls = False - -# Documents to append as an appendix to all manuals. -#latex_appendices = [] - -# 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-fortinet', u'Guide to the Fortinet Plugin ver. 1.1-1.0.0-1 for Fuel', - [u'Fortinet Inc.'], 1) -] - -# If true, show URL addresses after external links. -#man_show_urls = False - - -# -- Options for Texinfo output ------------------------------------------- - -# Grouping the document tree into Texinfo files. List of tuples -# (source start file, target name, title, author, -# dir menu entry, description, category) -texinfo_documents = [ - ('index', 'fuel-plugin-fortinet', u'The Fortinet Plugin for Fuel Documentation', - u'Fortinet Inc.', 'fuel-plugin-fortinet', 'The Fortinet Plugin for Fuel Documentation', - 'Miscellaneous'), -] - -# Documents to append as an appendix to all manuals. -#texinfo_appendices = [] - -# If false, no module index is generated. -#texinfo_domain_indices = True - -# How to display URL addresses: 'footnote', 'no', or 'inline'. -#texinfo_show_urls = 'footnote' - -# 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'The Fortinet Plugin for Fuel' -epub_author = u'Fortinet Inc.' -epub_publisher = u'Fortinet Inc.' -epub_copyright = u'2016, Fortinet Inc.' - -# The basename for the epub file. It defaults to the project name. -#epub_basename = u'fuel-plugin-fortinet' - -# The HTML theme for the epub output. Since the default themes are not optimized -# for small screen space, using the same theme for HTML and epub output is -# usually not wise. This defaults to 'epub', a theme designed to save visual -# space. -#epub_theme = 'epub' - -# The language of the text. It defaults to the language option -# or en if the language is not set. -#epub_language = '' - -# The scheme of the identifier. Typical schemes are ISBN or URL. -#epub_scheme = '' - -# The unique identifier of the text. This can be a ISBN number -# or the project homepage. -#epub_identifier = '' - -# A unique identification for the text. -#epub_uid = '' - -# A tuple containing the cover image and cover page html template filenames. -#epub_cover = () - -# A sequence of (type, uri, title) tuples for the guide element of content.opf. -#epub_guide = () - -# HTML files that should be inserted before the pages created by sphinx. -# The format is a list of tuples containing the path and title. -#epub_pre_files = [] - -# HTML files shat should be inserted after the pages created by sphinx. -# The format is a list of tuples containing the path and title. -#epub_post_files = [] - -# A list of files that should not be packed into the epub file. -epub_exclude_files = ['search.html'] - -# The depth of the table of contents in toc.ncx. -#epub_tocdepth = 3 - -# Allow duplicate toc entries. -#epub_tocdup = True - -# Choose between 'default' and 'includehidden'. -#epub_tocscope = 'default' - -# Fix unsupported image types using the PIL. -#epub_fix_images = False - -# Scale large images. -#epub_max_image_width = 0 - -# How to display URL addresses: 'footnote', 'no', or 'inline'. -#epub_show_urls = 'inline' - -# If false, no index is generated. -#epub_use_index = True diff --git a/doc/source/guide.rst b/doc/source/guide.rst deleted file mode 100644 index 3e88359..0000000 --- a/doc/source/guide.rst +++ /dev/null @@ -1,91 +0,0 @@ -.. _user_guide: - -User Guide -========== - -.. _plugin_configuration: - -Plugin configuration --------------------- - -#. `Create a new environment with the Fuel UI wizard. `_ - At the moment only the Ubuntu distribution is supported. - - .. image:: _static/create_env1.png - :alt: Create a liberty OpenStack environment - - - .. image:: _static/create_env2.png - :alt: Select qemu-kvm as hypervisor - - - .. image:: _static/create_env3.png - :alt: Select VLAN segmentation for tenant network - - - Select the desired storage backends and additional services. - -#. `Add nodes to the environment and assign roles. `_ - -#. `Modify networking configurations. `_ - - .. image:: _static/networking_default.png - :alt: Modify public/storage/management network settings in default network group. - - - .. image:: _static/networking_ml2.png - :alt: Modify ml2 vlan related configuration. - - - .. image:: _static/networking_l3.png - :alt: Modify floating IP pool. - -#. Configure FortiGate Connector settings. - Click on Other on navigation bar and scroll down to "Fuel plugin to deploy FortiGate ML2 plugin on OpenStack". - Click on the checkbox for the Fortinet fuel plugin and change related settings. - - .. image:: _static/networking_fortinet.png - :alt: Modify FortiGate related settings. - -#. Click *Save Settings* at the bottom of the page to save the configuration parameters. - -#. Switch to the *Nodes* tab and assign different networks to the interfaces. - - .. image:: _static/nodes_interface1.png - - - .. image:: _static/nodes_interface2.png - - -#. 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 Dashboard tab will display the "Success" notification, stating that -the plugin is deployed and a link with name HTTP will be displayed. - -.. image:: _static/deployment_success.png - :alt: A screenshot of the Dashboard Success notification - :scale: 90% - -Click on *HTTP* and it will lead you to OpenStack dashboard. - -.. image:: _static/horizon.png - :alt: The link to the OpenStack Horizon dashboard. - -When Neutron service starts, it will use the FortiGate Connector to initialize the FortiGate and create a VDOM called osvdmext. -You can log onto FortiGate to check whether the VDOM has been created. - -.. image:: _static/fortigate.png - :alt: Auto created VDOM osvdmext. - -Using FortiGate Connector -------------------------- - -For instructions on using the FortiGate Connector, please refer to the official admin guide on `Fortinet support site `_. -The operations are transparent to the OpenStack users and the FortiGate connector will configure the FortiGate via RestFul API when networks, subnets, routers and firewalls are created on OpenStack. diff --git a/doc/source/index.rst b/doc/source/index.rst deleted file mode 100644 index 8bff558..0000000 --- a/doc/source/index.rst +++ /dev/null @@ -1,18 +0,0 @@ -.. fuel-plugin-fortinet documentation master file, created by - sphinx-quickstart on Tue June 7 12:48:35 2016. - You can adapt this file completely to your liking, but it should at least - contain the root `toctree` directive. - -================================================ -Guide to the Fortinet Plugin ver. 1.0.0 for Fuel -================================================ - -User documentation -================== - -.. toctree:: - :maxdepth: 2 - - overview - installation - guide diff --git a/doc/source/installation.rst b/doc/source/installation.rst deleted file mode 100644 index 6b12ebc..0000000 --- a/doc/source/installation.rst +++ /dev/null @@ -1,31 +0,0 @@ -Installation Guide -================== - -How to install Fuel Master --------------------------- - -Please refer to `Mirantis official documentation for Fuel 9.0 `_ for the installation of Fuel master node or `this quickstart guide `_ to setup a demo environment. - -How to install the plugin -------------------------- - -#. Build the fuel plugin on Fuel Master. - - .. code:: bash - git clone https://github.com/openstack/fuel-plugin-fortinet.git - cd fuel-plugin-fortinet - fpb --build ./ - -#. Install the plugin using the fuel command line: - - .. code:: bash - fuel plugins --install fuel-plugin-fortinet*.rpm - -#. Verify that the plugin is installed correctly: - - .. code:: bash - - [root@fuel ~]# fuel plugins - id | name | version | package_version - ---|----------------------|---------|---------------- - 1 | fuel-plugin-fortinet | 2.0.0 | 5.0.0 diff --git a/doc/source/overview.rst b/doc/source/overview.rst deleted file mode 100644 index 4514cff..0000000 --- a/doc/source/overview.rst +++ /dev/null @@ -1,51 +0,0 @@ -.. _user_overview: - -Overview -======== - -OpenStack Neutron provides networking-as-a-service between interface devices -(e.g., vNICs) managed by other OpenStack services such as Nova (compute). -The FortiGate Connector for OpenStack Neutron enables a FortiGate physical -or virtual appliance to operate as an OpenStack Neutron network node and delivers -the best of both worlds in advanced security and network performance. The combined -solution enables FortiGate, particularly when leveraging high-speed hardware ASIC’s -in physical models, to boost Neutron performance and eliminate security chokepoints, -by leveraging the Modular Layer 2 (ML2) plug-in interface. - -Additional Neutron FWaaS (Firewall-as-a-Service) integration further enables -orchestration of FortiGate security policy through OpenStack, in addition to network -and firewall service insertion. The Horizon dashboard provides a single pane-of-glass -to automatically provision security profiles seamlessly with tenant network and firewall -deployment, allowing clouds and data centers to scale elastically without protection gaps. -Firewall rules can further be customized within the Horizon dashboard, and as well as -delegated when empowering tenant self-service. - -This Fuel plugin will enable the installation and configuration of FortiGate connector for -OpenStack with Fuel. - -.. _plugin_requirements: - -Requirements ------------- - -+----------------------------------+-----------------------------------------------------------------------+ -| **Requirement** | **Version/Comment** | -+==================================+=======================================================================+ -| Mirantis OpenStack compatility | 8.0 | -+----------------------------------+-----------------------------------------------------------------------+ -| Distribution Supported | Ubuntu | -+----------------------------------+-----------------------------------------------------------------------+ -| Hardware Minimum Recommendations | FortiGate: Physical or Virtual appliances with FOS 5.2.3 and up. | -| | Fuel Server: 4 CPU, 4G RAM, 100GB Disk, 2 NICs(1 mgmt, 1 pxe) | -| | OpenStack Controller: 8CPU, 8G RAM, 2 NICs(1 mgmt,pxe, 1 public) | -| | OpenStack Compute: 8CPU, 16G RAM, 1 NIC(1 mgmt,pxe) | -+----------------------------------+-----------------------------------------------------------------------+ - -.. _plugin_limitations: - -Limitations ------------ - -At the moment, only vlan segmentation is supported for tenant networks in the -FortiGate Connector, so this fuel plugin will only be available when vlan is chosen -as the tenant network type. diff --git a/environment_config.yaml b/environment_config.yaml deleted file mode 100644 index 54be017..0000000 --- a/environment_config.yaml +++ /dev/null @@ -1,89 +0,0 @@ -attributes: - metadata: - # Settings group can be one of "general", "security", "compute", "network", - # "storage", "logging", "openstack_services" and "other". - group: 'network' - restrictions: - - condition: "not (cluster:net_provider == 'neutron' and networking_parameters:segmentation_type == 'vlan')" - message: "Please use Neutron with VLAN segmentation, the only network type supported with fortigate plugin." - - fortigate_api_ip: - value: "" - label: 'Enter the IP address of FortiGate RESTful API' - description: 'Enter the IP address of FortiGate RESTful API' - weight: 24 - type: "text" - regex: - source: '^((?:\d|1?\d\d|2[0-4]\d|25[0-5])(?:\.(?:\d|1?\d\d|2[0-4]\d|25[0-5])){3})|(?:^)$' - error: "Invalid IP address" - - fortigate_api_username: - value: "admin" - label: "Enter admin username of FortiGate" - description: "Enter admin username of FortiGate" - weight: 25 - type: "text" - - fortigate_api_password: - value: "" - label: "Enter the admin password of FortiGate" - description: "Enter the admin password of FortiGate" - weight: 26 - type: "password" - - fortigate_api_protocol: - value: "https" - label: "Select the protocol of FortiGate RESTful API" - description: "Select protocol of FortiGate RESTful API" - weight: 27 - type: "select" - values: - - data: "http" - label: "http" - - data: "https" - label: "https" - - fortigate_api_port: - value: "443" - label: "Select port number of FortiGate RESTful API" - description: "Enter the tcp port number of FortiGate RESTful API" - weight: 28 - type: "select" - values: - - data: "443" - label: "443" - - data: "80" - label: "80" - - fortigate_tenant_port: - value: "" - label: "Enter the physical port on FortiGate for tenant private network" - description: "Enter the physical port on FortiGate to handle tenant traffic" - weight: 29 - type: "text" - - fortigate_external_port: - value: "" - label: "Enter the physical port on FortiGate for external network" - description: "Enter the physical port on FortiGate for external network" - weight: 30 - type: "text" - - fortigate_npu_available: - value: "True" - label: "Whether FortiGate has hardware NPU" - description: "Whether FortiGate has hardware NPU" - weight: 31 - type: "select" - values: - - data: "True" - label: "True" - - data: "False" - label: "False" - - fortigate_fwaas_enable: - type: "checkbox" - weight: 32 - value: false - label: "Enable Fortigate FWaaS" - description: "Whether use FortiGate for FWaaS" diff --git a/metadata.yaml b/metadata.yaml deleted file mode 100644 index 878ed05..0000000 --- a/metadata.yaml +++ /dev/null @@ -1,38 +0,0 @@ -# Plugin name -name: fuel-plugin-fortinet -# Human-readable name for your plugin -title: Fuel plugin to deploy FortiGate ML2 plugin on OpenStack -# Plugin version -version: '2.0.0' -# Description -description: Use FortiGate as network node for OpenStack -# Required fuel version -fuel_version: ['9.0'] -# Specify license of your plugin -licenses: ['Apache License Version 2.0'] -# Specify author or company name -authors: ['Fortinet Inc.'] -# A link to the plugin's page -homepage: 'https://github.com/openstack/fuel-plugins' -# Specify a group which your plugin implements, possible options: -# network, storage, storage::cinder, storage::glance, hypervisor, -# equipment -groups: [network] -# Change `false` to `true` if the plugin can be installed in the environment -# after the deployment. -is_hotpluggable: false - -# The plugin is compatible with releases in the list -releases: - - os: ubuntu - version: mitaka-9.0 - mode: ['ha', 'multinode'] - deployment_scripts_path: deployment_scripts/ - repository_path: repositories/ubuntu - - os: centos - version: mitaka-9.0 - mode: ['ha', 'multinode'] - deployment_scripts_path: deployment_scripts/ - repository_path: repositories/centos -# Version of plugin package -package_version: '5.0.0' diff --git a/network_roles.yaml b/network_roles.yaml deleted file mode 100644 index d9d5565..0000000 --- a/network_roles.yaml +++ /dev/null @@ -1,15 +0,0 @@ -# Unique network role name -- id: "example_net_role" - # Role mapping to network - default_mapping: "public" - properties: - # Should be true if network role requires subnet being set - subnet: true - # Should be true if network role requires gateway being set - gateway: false - # List of VIPs to be allocated - vip: - # Unique VIP name - - name: "vip_name" - # Optional linux namespace for VIP - namespace: "haproxy" diff --git a/node_roles.yaml b/node_roles.yaml deleted file mode 100644 index 5da7cc7..0000000 --- a/node_roles.yaml +++ /dev/null @@ -1,13 +0,0 @@ -fuel-plugin-fortinet_role: - # Role name - name: "Set here the name for the role. This name will be displayed in the Fuel web UI" - # Role description - description: "Write description for your role" - # If primary then during orchestration this role will be - # separated into primary-role and role - has_primary: false - # Assign public IP to node if true - public_ip_required: false - # Weight that will be used to sort out the - # roles on the Fuel web UI - weight: 1000 diff --git a/pre_build_hook b/pre_build_hook deleted file mode 100755 index dc05e98..0000000 --- a/pre_build_hook +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/bash - -# Add here any the actions which are required before plugin build -# like packages building, packages downloading from mirrors and so on. -# The script should return 0 if there were no errors. diff --git a/repositories/centos/.gitkeep b/repositories/centos/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/repositories/ubuntu/.gitkeep b/repositories/ubuntu/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/volumes.yaml b/volumes.yaml deleted file mode 100644 index bcd7b73..0000000 --- a/volumes.yaml +++ /dev/null @@ -1,7 +0,0 @@ -volumes_roles_mapping: - # Default role mapping - fuel-plugin-fortinet_role: - - {allocate_size: "min", id: "os"} - -# Set here new volumes for your role -volumes: []