Latest commit

History

1,528 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

F5 Agent for OpenStack Neutron

Build StatusSlackCoveralls

https://coveralls.io/repos/github/F5Networks/f5-openstack-agent/badge.svg?branch=newton

target:https://coveralls.io/github/F5Networks/f5-openstack-agent?branch=newton

Introduction

The F5 Agent for OpenStack Neutron is an OpenStack Neutron plugin agent. It works in conjunction with the F5 driver for OpenStack LBaaSv2 to manage F5 BIG-IP Local Traffic Manager (LTM) services via the OpenStack Neutron API.

Documentation

Documentation is published on clouddocs.f5.com.

Compatibility

The F5 Agent for OpenStack Neutron is compatible with OpenStack releases from Liberty forward.

See the F5 OpenStack Releases and Support Matrix for more information.

Installing the F5 Agent

Please see the product documentation.

Using the Built-in Debugger

Use the built-in debugger -- debug_bundler.py -- to package information about your environment for debugging purposes.

When the you install f5-openstack-agent, the debug_bundler.py script installs itself in /usr/bin/f5/. When you run the debugger, it searches for log and config files and dumps a complete listing of the pip lists output. The debugger bundles everything it finds into a tarfile that you can provide to F5's support representatives to assist them in identifying the cause of your issue.


WARNING

The files added to the debug bundle may contain VERY SENSITIVE INFORMATION such as encryption keys, passwords, and usernames. Do not upload this bundle, or any information within, to a public forum unless you have thoroughly scrubbed sensitive information. When in doubt, don't upload it at all.


Basic usage with the default command-line arguments

The command below creates a .tar file in the specified directory (in this example, /home/myuser/debug_bundle_output/) containing all logs and configuration files the script found. The script offers a best-effort search of the specified directories. If it cannot find the log files it is looking for in those directories, it prints an error message and continues to run.

$ python /usr/bin/f5/debug_bundler.py /home/myuser/debug_bundle_output/

Override log/config file locations

The default log location is /var/log/neutron. The default configuration file location is /etc/neutron.

To override the log and/or config file locations, use the command-line arguments shown below:

$ python /usr/bin/f5/debug_bundler.py --log-dir=/var/log/mylogs --config-dir /etc/myconfigs/ ~/

Issues

If you find any issues with the debug_bundler, please file an issue.

For Developers

Filing Issues

If you find an issue, we would love to hear about it. Please file an issue in this repository. Use the issue template to tell us as much as you can about what you found, how you found it, your environment, etc. Admins will triage your issue and assign it for a fix based on the priority level assigned. We also welcome you to file issues for feature requests.

Contributing

See Contributing.

Testing

Before you open a pull request, your code must have passing pytest unit tests. In addition, you should include a set of functional tests written to use an actual BIG-IP device for testing. Information on how to run our test set is included below.

Style Checks

We use the hacking module for our style checks.

$ pip install tox
$ tox -e style

Unit Tests

We use tox to run our pytest unit tests.

To run the unit tests, use the toxunit environment.

$ pip install tox
$ tox -e unit

Functional Tests

You can run functional tests without a full OpenStack deployment. They do require access to a BIG-IP device or BIG-IP Virtual Edition (VE) instance.

  1. Copy and edit the symbols.json.example with the correct values for your BIG-IP device.

  2. Run tox -e functest with the --symbols flag pointing to your updates symbols.json file.

    For example, the command below calls the symbols file and runs the neutronless/disconnected_service functional test cases. The tox target changes to the [test/functional](test/functional) directory before the tests run.

$ tox -e functest -- \
--symbols ~/path/to/symbols/symbols.json \
neutronless/disconnected_service

Copyright

Copyright (c) 2015-2018, F5 Networks, Inc.

Support

See Support.

License

Apache V2.0

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.

Contributor License Agreement

Individuals or business entities who contribute to this project must complete and submit the F5 Contributor License Agreement to Openstack_CLA@f5.combefore their code submission can be added to this project.

About

The F5 Agent for OpenStack Neutron allows you to deploy BIG-IP services in an OpenStack environment.

Topics

Resources

Contributing

Stars

15 stars

Watchers

22 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Latest commit

History

1,528 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

F5 Agent for OpenStack Neutron

Build StatusSlackCoveralls

https://coveralls.io/repos/github/F5Networks/f5-openstack-agent/badge.svg?branch=newton

target:https://coveralls.io/github/F5Networks/f5-openstack-agent?branch=newton

Introduction

The F5 Agent for OpenStack Neutron is an OpenStack Neutron plugin agent. It works in conjunction with the F5 driver for OpenStack LBaaSv2 to manage F5 BIG-IP Local Traffic Manager (LTM) services via the OpenStack Neutron API.

Documentation

Documentation is published on clouddocs.f5.com.

Compatibility

The F5 Agent for OpenStack Neutron is compatible with OpenStack releases from Liberty forward.

See the F5 OpenStack Releases and Support Matrix for more information.

Installing the F5 Agent

Please see the product documentation.

Using the Built-in Debugger

Use the built-in debugger -- debug_bundler.py -- to package information about your environment for debugging purposes.

When the you install f5-openstack-agent, the debug_bundler.py script installs itself in /usr/bin/f5/. When you run the debugger, it searches for log and config files and dumps a complete listing of the pip lists output. The debugger bundles everything it finds into a tarfile that you can provide to F5's support representatives to assist them in identifying the cause of your issue.


WARNING

The files added to the debug bundle may contain VERY SENSITIVE INFORMATION such as encryption keys, passwords, and usernames. Do not upload this bundle, or any information within, to a public forum unless you have thoroughly scrubbed sensitive information. When in doubt, don't upload it at all.


Basic usage with the default command-line arguments

The command below creates a .tar file in the specified directory (in this example, /home/myuser/debug_bundle_output/) containing all logs and configuration files the script found. The script offers a best-effort search of the specified directories. If it cannot find the log files it is looking for in those directories, it prints an error message and continues to run.

$ python /usr/bin/f5/debug_bundler.py /home/myuser/debug_bundle_output/

Override log/config file locations

The default log location is /var/log/neutron. The default configuration file location is /etc/neutron.

To override the log and/or config file locations, use the command-line arguments shown below:

$ python /usr/bin/f5/debug_bundler.py --log-dir=/var/log/mylogs --config-dir /etc/myconfigs/ ~/

Issues

If you find any issues with the debug_bundler, please file an issue.

For Developers

Filing Issues

If you find an issue, we would love to hear about it. Please file an issue in this repository. Use the issue template to tell us as much as you can about what you found, how you found it, your environment, etc. Admins will triage your issue and assign it for a fix based on the priority level assigned. We also welcome you to file issues for feature requests.

Contributing

See Contributing.

Testing

Before you open a pull request, your code must have passing pytest unit tests. In addition, you should include a set of functional tests written to use an actual BIG-IP device for testing. Information on how to run our test set is included below.

Style Checks

We use the hacking module for our style checks.

$ pip install tox
$ tox -e style

Unit Tests

We use tox to run our pytest unit tests.

To run the unit tests, use the toxunit environment.

$ pip install tox
$ tox -e unit

Functional Tests

You can run functional tests without a full OpenStack deployment. They do require access to a BIG-IP device or BIG-IP Virtual Edition (VE) instance.

  1. Copy and edit the symbols.json.example with the correct values for your BIG-IP device.

  2. Run tox -e functest with the --symbols flag pointing to your updates symbols.json file.

    For example, the command below calls the symbols file and runs the neutronless/disconnected_service functional test cases. The tox target changes to the [test/functional](test/functional) directory before the tests run.

$ tox -e functest -- \
--symbols ~/path/to/symbols/symbols.json \
neutronless/disconnected_service

Copyright

Copyright (c) 2015-2018, F5 Networks, Inc.

Support

See Support.

License

Apache V2.0

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.

Contributor License Agreement

Individuals or business entities who contribute to this project must complete and submit the F5 Contributor License Agreement to Openstack_CLA@f5.combefore their code submission can be added to this project.

About

The F5 Agent for OpenStack Neutron allows you to deploy BIG-IP services in an OpenStack environment.

Topics

Resources

Contributing

Stars

15 stars

Watchers

22 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

1,528 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

F5 Agent for OpenStack Neutron

Build StatusSlackCoveralls

https://coveralls.io/repos/github/F5Networks/f5-openstack-agent/badge.svg?branch=newton

target:https://coveralls.io/github/F5Networks/f5-openstack-agent?branch=newton

Introduction

The F5 Agent for OpenStack Neutron is an OpenStack Neutron plugin agent. It works in conjunction with the F5 driver for OpenStack LBaaSv2 to manage F5 BIG-IP Local Traffic Manager (LTM) services via the OpenStack Neutron API.

Documentation

Documentation is published on clouddocs.f5.com.

Compatibility

The F5 Agent for OpenStack Neutron is compatible with OpenStack releases from Liberty forward.

See the F5 OpenStack Releases and Support Matrix for more information.

Installing the F5 Agent

Please see the product documentation.

Using the Built-in Debugger

Use the built-in debugger -- debug_bundler.py -- to package information about your environment for debugging purposes.

When the you install f5-openstack-agent, the debug_bundler.py script installs itself in /usr/bin/f5/. When you run the debugger, it searches for log and config files and dumps a complete listing of the pip lists output. The debugger bundles everything it finds into a tarfile that you can provide to F5's support representatives to assist them in identifying the cause of your issue.


WARNING

The files added to the debug bundle may contain VERY SENSITIVE INFORMATION such as encryption keys, passwords, and usernames. Do not upload this bundle, or any information within, to a public forum unless you have thoroughly scrubbed sensitive information. When in doubt, don't upload it at all.


Basic usage with the default command-line arguments

The command below creates a .tar file in the specified directory (in this example, /home/myuser/debug_bundle_output/) containing all logs and configuration files the script found. The script offers a best-effort search of the specified directories. If it cannot find the log files it is looking for in those directories, it prints an error message and continues to run.

$ python /usr/bin/f5/debug_bundler.py /home/myuser/debug_bundle_output/

Override log/config file locations

The default log location is /var/log/neutron. The default configuration file location is /etc/neutron.

To override the log and/or config file locations, use the command-line arguments shown below:

$ python /usr/bin/f5/debug_bundler.py --log-dir=/var/log/mylogs --config-dir /etc/myconfigs/ ~/

Issues

If you find any issues with the debug_bundler, please file an issue.

For Developers

Filing Issues

If you find an issue, we would love to hear about it. Please file an issue in this repository. Use the issue template to tell us as much as you can about what you found, how you found it, your environment, etc. Admins will triage your issue and assign it for a fix based on the priority level assigned. We also welcome you to file issues for feature requests.

Contributing

See Contributing.

Testing

Before you open a pull request, your code must have passing pytest unit tests. In addition, you should include a set of functional tests written to use an actual BIG-IP device for testing. Information on how to run our test set is included below.

Style Checks

We use the hacking module for our style checks.

$ pip install tox
$ tox -e style

Unit Tests

We use tox to run our pytest unit tests.

To run the unit tests, use the toxunit environment.

$ pip install tox
$ tox -e unit

Functional Tests

You can run functional tests without a full OpenStack deployment. They do require access to a BIG-IP device or BIG-IP Virtual Edition (VE) instance.

  1. Copy and edit the symbols.json.example with the correct values for your BIG-IP device.

  2. Run tox -e functest with the --symbols flag pointing to your updates symbols.json file.

    For example, the command below calls the symbols file and runs the neutronless/disconnected_service functional test cases. The tox target changes to the [test/functional](test/functional) directory before the tests run.

$ tox -e functest -- \
--symbols ~/path/to/symbols/symbols.json \
neutronless/disconnected_service

Copyright

Copyright (c) 2015-2018, F5 Networks, Inc.

Support

See Support.

License

Apache V2.0

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.

Contributor License Agreement

Individuals or business entities who contribute to this project must complete and submit the F5 Contributor License Agreement to Openstack_CLA@f5.combefore their code submission can be added to this project.

About

The F5 Agent for OpenStack Neutron allows you to deploy BIG-IP services in an OpenStack environment.

Topics

Resources

Contributing

Stars

15 stars

Watchers

22 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

1,528 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

F5 Agent for OpenStack Neutron

Build StatusSlackCoveralls

https://coveralls.io/repos/github/F5Networks/f5-openstack-agent/badge.svg?branch=newton

target:https://coveralls.io/github/F5Networks/f5-openstack-agent?branch=newton

Introduction

The F5 Agent for OpenStack Neutron is an OpenStack Neutron plugin agent. It works in conjunction with the F5 driver for OpenStack LBaaSv2 to manage F5 BIG-IP Local Traffic Manager (LTM) services via the OpenStack Neutron API.

Documentation

Documentation is published on clouddocs.f5.com.

Compatibility

The F5 Agent for OpenStack Neutron is compatible with OpenStack releases from Liberty forward.

See the F5 OpenStack Releases and Support Matrix for more information.

Installing the F5 Agent

Please see the product documentation.

Using the Built-in Debugger

Use the built-in debugger -- debug_bundler.py -- to package information about your environment for debugging purposes.

When the you install f5-openstack-agent, the debug_bundler.py script installs itself in /usr/bin/f5/. When you run the debugger, it searches for log and config files and dumps a complete listing of the pip lists output. The debugger bundles everything it finds into a tarfile that you can provide to F5's support representatives to assist them in identifying the cause of your issue.


WARNING

The files added to the debug bundle may contain VERY SENSITIVE INFORMATION such as encryption keys, passwords, and usernames. Do not upload this bundle, or any information within, to a public forum unless you have thoroughly scrubbed sensitive information. When in doubt, don't upload it at all.


Basic usage with the default command-line arguments

The command below creates a .tar file in the specified directory (in this example, /home/myuser/debug_bundle_output/) containing all logs and configuration files the script found. The script offers a best-effort search of the specified directories. If it cannot find the log files it is looking for in those directories, it prints an error message and continues to run.

$ python /usr/bin/f5/debug_bundler.py /home/myuser/debug_bundle_output/

Override log/config file locations

The default log location is /var/log/neutron. The default configuration file location is /etc/neutron.

To override the log and/or config file locations, use the command-line arguments shown below:

$ python /usr/bin/f5/debug_bundler.py --log-dir=/var/log/mylogs --config-dir /etc/myconfigs/ ~/

Issues

If you find any issues with the debug_bundler, please file an issue.

For Developers

Filing Issues

If you find an issue, we would love to hear about it. Please file an issue in this repository. Use the issue template to tell us as much as you can about what you found, how you found it, your environment, etc. Admins will triage your issue and assign it for a fix based on the priority level assigned. We also welcome you to file issues for feature requests.

Contributing

See Contributing.

Testing

Before you open a pull request, your code must have passing pytest unit tests. In addition, you should include a set of functional tests written to use an actual BIG-IP device for testing. Information on how to run our test set is included below.

Style Checks

We use the hacking module for our style checks.

$ pip install tox
$ tox -e style

Unit Tests

We use tox to run our pytest unit tests.

To run the unit tests, use the toxunit environment.

$ pip install tox
$ tox -e unit

Functional Tests

You can run functional tests without a full OpenStack deployment. They do require access to a BIG-IP device or BIG-IP Virtual Edition (VE) instance.

  1. Copy and edit the symbols.json.example with the correct values for your BIG-IP device.

  2. Run tox -e functest with the --symbols flag pointing to your updates symbols.json file.

    For example, the command below calls the symbols file and runs the neutronless/disconnected_service functional test cases. The tox target changes to the [test/functional](test/functional) directory before the tests run.

$ tox -e functest -- \
--symbols ~/path/to/symbols/symbols.json \
neutronless/disconnected_service

Copyright

Copyright (c) 2015-2018, F5 Networks, Inc.

Support

See Support.

License

Apache V2.0

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.

Contributor License Agreement

Individuals or business entities who contribute to this project must complete and submit the F5 Contributor License Agreement to Openstack_CLA@f5.combefore their code submission can be added to this project.

About

The F5 Agent for OpenStack Neutron allows you to deploy BIG-IP services in an OpenStack environment.

Topics

Resources

Contributing

Stars

15 stars

Watchers

22 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Latest commit

History

1,528 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

F5 Agent for OpenStack Neutron

Build StatusSlackCoveralls

https://coveralls.io/repos/github/F5Networks/f5-openstack-agent/badge.svg?branch=newton

target:https://coveralls.io/github/F5Networks/f5-openstack-agent?branch=newton

Introduction

The F5 Agent for OpenStack Neutron is an OpenStack Neutron plugin agent. It works in conjunction with the F5 driver for OpenStack LBaaSv2 to manage F5 BIG-IP Local Traffic Manager (LTM) services via the OpenStack Neutron API.

Documentation

Documentation is published on clouddocs.f5.com.

Compatibility

The F5 Agent for OpenStack Neutron is compatible with OpenStack releases from Liberty forward.

See the F5 OpenStack Releases and Support Matrix for more information.

Installing the F5 Agent

Please see the product documentation.

Using the Built-in Debugger

Use the built-in debugger -- debug_bundler.py -- to package information about your environment for debugging purposes.

When the you install f5-openstack-agent, the debug_bundler.py script installs itself in /usr/bin/f5/. When you run the debugger, it searches for log and config files and dumps a complete listing of the pip lists output. The debugger bundles everything it finds into a tarfile that you can provide to F5's support representatives to assist them in identifying the cause of your issue.


WARNING

The files added to the debug bundle may contain VERY SENSITIVE INFORMATION such as encryption keys, passwords, and usernames. Do not upload this bundle, or any information within, to a public forum unless you have thoroughly scrubbed sensitive information. When in doubt, don't upload it at all.


Basic usage with the default command-line arguments

The command below creates a .tar file in the specified directory (in this example, /home/myuser/debug_bundle_output/) containing all logs and configuration files the script found. The script offers a best-effort search of the specified directories. If it cannot find the log files it is looking for in those directories, it prints an error message and continues to run.

$ python /usr/bin/f5/debug_bundler.py /home/myuser/debug_bundle_output/

Override log/config file locations

The default log location is /var/log/neutron. The default configuration file location is /etc/neutron.

To override the log and/or config file locations, use the command-line arguments shown below:

$ python /usr/bin/f5/debug_bundler.py --log-dir=/var/log/mylogs --config-dir /etc/myconfigs/ ~/

Issues

If you find any issues with the debug_bundler, please file an issue.

For Developers

Filing Issues

If you find an issue, we would love to hear about it. Please file an issue in this repository. Use the issue template to tell us as much as you can about what you found, how you found it, your environment, etc. Admins will triage your issue and assign it for a fix based on the priority level assigned. We also welcome you to file issues for feature requests.

Contributing

See Contributing.

Testing

Before you open a pull request, your code must have passing pytest unit tests. In addition, you should include a set of functional tests written to use an actual BIG-IP device for testing. Information on how to run our test set is included below.

Style Checks

We use the hacking module for our style checks.

$ pip install tox
$ tox -e style

Unit Tests

We use tox to run our pytest unit tests.

To run the unit tests, use the toxunit environment.

$ pip install tox
$ tox -e unit

Functional Tests

You can run functional tests without a full OpenStack deployment. They do require access to a BIG-IP device or BIG-IP Virtual Edition (VE) instance.

  1. Copy and edit the symbols.json.example with the correct values for your BIG-IP device.

  2. Run tox -e functest with the --symbols flag pointing to your updates symbols.json file.

    For example, the command below calls the symbols file and runs the neutronless/disconnected_service functional test cases. The tox target changes to the [test/functional](test/functional) directory before the tests run.

$ tox -e functest -- \
--symbols ~/path/to/symbols/symbols.json \
neutronless/disconnected_service

Copyright

Copyright (c) 2015-2018, F5 Networks, Inc.

Support

See Support.

License

Apache V2.0

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.

Contributor License Agreement

Individuals or business entities who contribute to this project must complete and submit the F5 Contributor License Agreement to Openstack_CLA@f5.combefore their code submission can be added to this project.

About

The F5 Agent for OpenStack Neutron allows you to deploy BIG-IP services in an OpenStack environment.

Topics

Resources

Contributing

Stars

15 stars

Watchers

22 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

1,528 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

F5 Agent for OpenStack Neutron

Build StatusSlackCoveralls

https://coveralls.io/repos/github/F5Networks/f5-openstack-agent/badge.svg?branch=newton

target:https://coveralls.io/github/F5Networks/f5-openstack-agent?branch=newton

Introduction

The F5 Agent for OpenStack Neutron is an OpenStack Neutron plugin agent. It works in conjunction with the F5 driver for OpenStack LBaaSv2 to manage F5 BIG-IP Local Traffic Manager (LTM) services via the OpenStack Neutron API.

Documentation

Documentation is published on clouddocs.f5.com.

Compatibility

The F5 Agent for OpenStack Neutron is compatible with OpenStack releases from Liberty forward.

See the F5 OpenStack Releases and Support Matrix for more information.

Installing the F5 Agent

Please see the product documentation.

Using the Built-in Debugger

Use the built-in debugger -- debug_bundler.py -- to package information about your environment for debugging purposes.

When the you install f5-openstack-agent, the debug_bundler.py script installs itself in /usr/bin/f5/. When you run the debugger, it searches for log and config files and dumps a complete listing of the pip lists output. The debugger bundles everything it finds into a tarfile that you can provide to F5's support representatives to assist them in identifying the cause of your issue.


WARNING

The files added to the debug bundle may contain VERY SENSITIVE INFORMATION such as encryption keys, passwords, and usernames. Do not upload this bundle, or any information within, to a public forum unless you have thoroughly scrubbed sensitive information. When in doubt, don't upload it at all.


Basic usage with the default command-line arguments

The command below creates a .tar file in the specified directory (in this example, /home/myuser/debug_bundle_output/) containing all logs and configuration files the script found. The script offers a best-effort search of the specified directories. If it cannot find the log files it is looking for in those directories, it prints an error message and continues to run.

$ python /usr/bin/f5/debug_bundler.py /home/myuser/debug_bundle_output/

Override log/config file locations

The default log location is /var/log/neutron. The default configuration file location is /etc/neutron.

To override the log and/or config file locations, use the command-line arguments shown below:

$ python /usr/bin/f5/debug_bundler.py --log-dir=/var/log/mylogs --config-dir /etc/myconfigs/ ~/

Issues

If you find any issues with the debug_bundler, please file an issue.

For Developers

Filing Issues

If you find an issue, we would love to hear about it. Please file an issue in this repository. Use the issue template to tell us as much as you can about what you found, how you found it, your environment, etc. Admins will triage your issue and assign it for a fix based on the priority level assigned. We also welcome you to file issues for feature requests.

Contributing

See Contributing.

Testing

Before you open a pull request, your code must have passing pytest unit tests. In addition, you should include a set of functional tests written to use an actual BIG-IP device for testing. Information on how to run our test set is included below.

Style Checks

We use the hacking module for our style checks.

$ pip install tox
$ tox -e style

Unit Tests

We use tox to run our pytest unit tests.

To run the unit tests, use the toxunit environment.

$ pip install tox
$ tox -e unit

Functional Tests

You can run functional tests without a full OpenStack deployment. They do require access to a BIG-IP device or BIG-IP Virtual Edition (VE) instance.

  1. Copy and edit the symbols.json.example with the correct values for your BIG-IP device.

  2. Run tox -e functest with the --symbols flag pointing to your updates symbols.json file.

    For example, the command below calls the symbols file and runs the neutronless/disconnected_service functional test cases. The tox target changes to the [test/functional](test/functional) directory before the tests run.

$ tox -e functest -- \
--symbols ~/path/to/symbols/symbols.json \
neutronless/disconnected_service

Copyright

Copyright (c) 2015-2018, F5 Networks, Inc.

Support

See Support.

License

Apache V2.0

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.

Contributor License Agreement

Individuals or business entities who contribute to this project must complete and submit the F5 Contributor License Agreement to Openstack_CLA@f5.combefore their code submission can be added to this project.

About

The F5 Agent for OpenStack Neutron allows you to deploy BIG-IP services in an OpenStack environment.

Topics

Resources

Contributing

Stars

15 stars

Watchers

22 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

1,528 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

F5 Agent for OpenStack Neutron

Build StatusSlackCoveralls

https://coveralls.io/repos/github/F5Networks/f5-openstack-agent/badge.svg?branch=newton

target:https://coveralls.io/github/F5Networks/f5-openstack-agent?branch=newton

Introduction

The F5 Agent for OpenStack Neutron is an OpenStack Neutron plugin agent. It works in conjunction with the F5 driver for OpenStack LBaaSv2 to manage F5 BIG-IP Local Traffic Manager (LTM) services via the OpenStack Neutron API.

Documentation

Documentation is published on clouddocs.f5.com.

Compatibility

The F5 Agent for OpenStack Neutron is compatible with OpenStack releases from Liberty forward.

See the F5 OpenStack Releases and Support Matrix for more information.

Installing the F5 Agent

Please see the product documentation.

Using the Built-in Debugger

Use the built-in debugger -- debug_bundler.py -- to package information about your environment for debugging purposes.

When the you install f5-openstack-agent, the debug_bundler.py script installs itself in /usr/bin/f5/. When you run the debugger, it searches for log and config files and dumps a complete listing of the pip lists output. The debugger bundles everything it finds into a tarfile that you can provide to F5's support representatives to assist them in identifying the cause of your issue.


WARNING

The files added to the debug bundle may contain VERY SENSITIVE INFORMATION such as encryption keys, passwords, and usernames. Do not upload this bundle, or any information within, to a public forum unless you have thoroughly scrubbed sensitive information. When in doubt, don't upload it at all.


Basic usage with the default command-line arguments

The command below creates a .tar file in the specified directory (in this example, /home/myuser/debug_bundle_output/) containing all logs and configuration files the script found. The script offers a best-effort search of the specified directories. If it cannot find the log files it is looking for in those directories, it prints an error message and continues to run.

$ python /usr/bin/f5/debug_bundler.py /home/myuser/debug_bundle_output/

Override log/config file locations

The default log location is /var/log/neutron. The default configuration file location is /etc/neutron.

To override the log and/or config file locations, use the command-line arguments shown below:

$ python /usr/bin/f5/debug_bundler.py --log-dir=/var/log/mylogs --config-dir /etc/myconfigs/ ~/

Issues

If you find any issues with the debug_bundler, please file an issue.

For Developers

Filing Issues

If you find an issue, we would love to hear about it. Please file an issue in this repository. Use the issue template to tell us as much as you can about what you found, how you found it, your environment, etc. Admins will triage your issue and assign it for a fix based on the priority level assigned. We also welcome you to file issues for feature requests.

Contributing

See Contributing.

Testing

Before you open a pull request, your code must have passing pytest unit tests. In addition, you should include a set of functional tests written to use an actual BIG-IP device for testing. Information on how to run our test set is included below.

Style Checks

We use the hacking module for our style checks.

$ pip install tox
$ tox -e style

Unit Tests

We use tox to run our pytest unit tests.

To run the unit tests, use the toxunit environment.

$ pip install tox
$ tox -e unit

Functional Tests

You can run functional tests without a full OpenStack deployment. They do require access to a BIG-IP device or BIG-IP Virtual Edition (VE) instance.

  1. Copy and edit the symbols.json.example with the correct values for your BIG-IP device.

  2. Run tox -e functest with the --symbols flag pointing to your updates symbols.json file.

    For example, the command below calls the symbols file and runs the neutronless/disconnected_service functional test cases. The tox target changes to the [test/functional](test/functional) directory before the tests run.

$ tox -e functest -- \
--symbols ~/path/to/symbols/symbols.json \
neutronless/disconnected_service

Copyright

Copyright (c) 2015-2018, F5 Networks, Inc.

Support

See Support.

License

Apache V2.0

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.

Contributor License Agreement

Individuals or business entities who contribute to this project must complete and submit the F5 Contributor License Agreement to Openstack_CLA@f5.combefore their code submission can be added to this project.

About

The F5 Agent for OpenStack Neutron allows you to deploy BIG-IP services in an OpenStack environment.

Topics

Resources

Contributing

Stars

15 stars

Watchers

22 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Latest commit

History

1,528 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

F5 Agent for OpenStack Neutron

Build StatusSlackCoveralls

https://coveralls.io/repos/github/F5Networks/f5-openstack-agent/badge.svg?branch=newton

target:https://coveralls.io/github/F5Networks/f5-openstack-agent?branch=newton

Introduction

The F5 Agent for OpenStack Neutron is an OpenStack Neutron plugin agent. It works in conjunction with the F5 driver for OpenStack LBaaSv2 to manage F5 BIG-IP Local Traffic Manager (LTM) services via the OpenStack Neutron API.

Documentation

Documentation is published on clouddocs.f5.com.

Compatibility

The F5 Agent for OpenStack Neutron is compatible with OpenStack releases from Liberty forward.

See the F5 OpenStack Releases and Support Matrix for more information.

Installing the F5 Agent

Please see the product documentation.

Using the Built-in Debugger

Use the built-in debugger -- debug_bundler.py -- to package information about your environment for debugging purposes.

When the you install f5-openstack-agent, the debug_bundler.py script installs itself in /usr/bin/f5/. When you run the debugger, it searches for log and config files and dumps a complete listing of the pip lists output. The debugger bundles everything it finds into a tarfile that you can provide to F5's support representatives to assist them in identifying the cause of your issue.


WARNING

The files added to the debug bundle may contain VERY SENSITIVE INFORMATION such as encryption keys, passwords, and usernames. Do not upload this bundle, or any information within, to a public forum unless you have thoroughly scrubbed sensitive information. When in doubt, don't upload it at all.


Basic usage with the default command-line arguments

The command below creates a .tar file in the specified directory (in this example, /home/myuser/debug_bundle_output/) containing all logs and configuration files the script found. The script offers a best-effort search of the specified directories. If it cannot find the log files it is looking for in those directories, it prints an error message and continues to run.

$ python /usr/bin/f5/debug_bundler.py /home/myuser/debug_bundle_output/

Override log/config file locations

The default log location is /var/log/neutron. The default configuration file location is /etc/neutron.

To override the log and/or config file locations, use the command-line arguments shown below:

$ python /usr/bin/f5/debug_bundler.py --log-dir=/var/log/mylogs --config-dir /etc/myconfigs/ ~/

Issues

If you find any issues with the debug_bundler, please file an issue.

For Developers

Filing Issues

If you find an issue, we would love to hear about it. Please file an issue in this repository. Use the issue template to tell us as much as you can about what you found, how you found it, your environment, etc. Admins will triage your issue and assign it for a fix based on the priority level assigned. We also welcome you to file issues for feature requests.

Contributing

See Contributing.

Testing

Before you open a pull request, your code must have passing pytest unit tests. In addition, you should include a set of functional tests written to use an actual BIG-IP device for testing. Information on how to run our test set is included below.

Style Checks

We use the hacking module for our style checks.

$ pip install tox
$ tox -e style

Unit Tests

We use tox to run our pytest unit tests.

To run the unit tests, use the toxunit environment.

$ pip install tox
$ tox -e unit

Functional Tests

You can run functional tests without a full OpenStack deployment. They do require access to a BIG-IP device or BIG-IP Virtual Edition (VE) instance.

  1. Copy and edit the symbols.json.example with the correct values for your BIG-IP device.

  2. Run tox -e functest with the --symbols flag pointing to your updates symbols.json file.

    For example, the command below calls the symbols file and runs the neutronless/disconnected_service functional test cases. The tox target changes to the [test/functional](test/functional) directory before the tests run.

$ tox -e functest -- \
--symbols ~/path/to/symbols/symbols.json \
neutronless/disconnected_service

Copyright

Copyright (c) 2015-2018, F5 Networks, Inc.

Support

See Support.

License

Apache V2.0

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.

Contributor License Agreement

Individuals or business entities who contribute to this project must complete and submit the F5 Contributor License Agreement to Openstack_CLA@f5.combefore their code submission can be added to this project.

About

The F5 Agent for OpenStack Neutron allows you to deploy BIG-IP services in an OpenStack environment.

Topics

Resources

Contributing

Stars

15 stars

Watchers

22 watching

Forks

Releases

Packages

Used by

Contributors

Languages