|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
diff --git a/docs/configuration_file.md b/docs/configuration_file.md
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
index 3ea34af..5876c9a 100644
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
--- a/docs/configuration_file.md
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+++ b/docs/configuration_file.md
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
@@ -110,3 +110,53 @@ Some options are also mandatory.
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
* `memory_limit` (*optional*, `string`) — memory limit to apply to build (for more info, see [documentation for resources](https://github.com/projectatomic/osbs-client/blob/master/docs/resource.md)
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
* `storage_limit` (*optional*, `string`) — storage limit to apply to build (for more info, see [documentation for resources](https://github.com/projectatomic/osbs-client/blob/master/docs/resource.md)
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+## Build JSON Templates
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+In the `build_json_dir` there must be `prod.json` and `prod_inner.json` which
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+defines the [OpenShift Build](https://docs.openshift.org/latest/dev_guide/builds.html)
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+specification that will be used to enable the specific
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+[atomic-reactor](https://github.com/projectatomic/atomic-reactor) plugins that
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+should be enabled and the config values for each.
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+There is also a third file that is optional that can exist along side the
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+previous two in `build_json_dir` which is `prod_customize.json` and it will
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+provide the ability to set site-specific customizations such as removing,
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+plugins, adding plugins, or overriding arguments passed to existing plugins.
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+The syntax of `prod_customize.json` is as follows:
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+```json
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+{
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ "disable_plugins": [
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ {
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ "plugin_type": "foo_type",
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ "plugin_name": "foo_name"
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ },
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ {
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ "plugin_type": "bar_type",
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ "plugin_name": "bar_name"
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ }
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ ],
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ "enable_plugins": [
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ {
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ "plugin_type": "foo_type",
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ "plugin_name": "foo_name",
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ "plugin_args": {
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ "foo_arg1": "foo_value1",
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ "foo_arg2": "foo_value2"
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ }
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ }
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ ]
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+}
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+```
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+Such that:
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+* `disable_plugins` will define a list of lists that define the plugin type of the plugin that is to be removed (`prebuild_plugins`, `prepublish_plugins`, `postbuild_plugins`, `exit_plugins`) and the name of the plugin.
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+* `enable_plugins` is used to add plugins or modify already enabled plugins by overriding args passed to the plugin, these must be defined as key-value pairs as illustrated above. It should be noted that plugins added here will be executed at the end of the list of plugins in that particular `plugin_type` (`prebuild_plugins`, `prepublish_plugins`, `postbuild_plugins`, `exit_plugins`).
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
diff --git a/inputs/prod_customize.json b/inputs/prod_customize.json
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
new file mode 100644
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
index 0000000..e874211
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
--- /dev/null
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+++ b/inputs/prod_customize.json
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
@@ -0,0 +1,7 @@
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+{
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ "disable_plugins": [
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ ],
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ "enable_plugins": [
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ ]
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+}
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
diff --git a/osbs/build/build_request.py b/osbs/build/build_request.py
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
index a890d0b..aeceeaa 100644
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
--- a/osbs/build/build_request.py
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+++ b/osbs/build/build_request.py
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
@@ -24,7 +24,7 @@ except ImportError:
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
from osbs.build.manipulate import DockJsonManipulator
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
from osbs.build.spec import BuildSpec
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
-from osbs.constants import SECRETS_PATH, DEFAULT_OUTER_TEMPLATE, DEFAULT_INNER_TEMPLATE
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+from osbs.constants import SECRETS_PATH, DEFAULT_OUTER_TEMPLATE, DEFAULT_INNER_TEMPLATE, DEFAULT_CUSTOMIZE_CONF
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
from osbs.exceptions import OsbsException, OsbsValidationException
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
from osbs.utils import looks_like_git_hash, git_repo_humanish_part_from_uri
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
@@ -46,6 +46,7 @@ class BuildRequest(object):
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
self.build_json = None # rendered template
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
self._template = None # template loaded from filesystem
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
self._inner_template = None # dock json
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ self._customize_conf = None # site customize conf for _inner_template
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
self._dj = None
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
self._resource_limits = None
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
self._openshift_required_version = parse_version('1.0.6')
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
@@ -136,6 +137,20 @@ class BuildRequest(object):
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
return self._inner_template
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
@property
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ def customize_conf(self):
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ if self._customize_conf is None:
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ path = os.path.join(self.build_json_store, DEFAULT_CUSTOMIZE_CONF)
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ logger.debug("loading customize conf from path %s", path)
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ try:
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ with open(path, "r") as fp:
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ self._customize_conf= json.load(fp)
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ except IOError:
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ # File not found, which is perfectly fine. Set to empty string
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ self._customize_conf = {}
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ return self._customize_conf
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ @property
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
def dj(self):
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
if self._dj is None:
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
self._dj = DockJsonManipulator(self.template, self.inner_template)
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
@@ -649,10 +664,60 @@ class BuildRequest(object):
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
self.dj.dock_json_set_arg('postbuild_plugins', 'import_image',
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
'insecure_registry', True)
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ def render_customizations(self):
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ """
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ Customize prod_inner for site specific customizations
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ """
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ disable_plugins = self.customize_conf.get('disable_plugins', [])
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ if not disable_plugins:
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ logger.debug("No site-specific plugins to disable")
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ else:
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ for plugin_dict in disable_plugins:
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ try:
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ self.dj.remove_plugin(
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ plugin_dict['plugin_type'],
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ plugin_dict['plugin_name']
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ )
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ logger.debug(
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ "site-specific plugin disabled -> Type:{0} Name:{1}".format(
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ plugin_dict['plugin_type'],
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ plugin_dict['plugin_name']
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ )
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ )
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ except KeyError:
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ # Malformed config
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ logger.debug("Invalid custom configuration found for disable_plugins")
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ enable_plugins = self.customize_conf.get('enable_plugins', [])
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ if not enable_plugins:
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ logger.debug("No site-specific plugins to enable")
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ else:
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ for plugin_dict in enable_plugins:
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ try:
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ self.dj.add_plugin(
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ plugin_dict['plugin_type'],
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ plugin_dict['plugin_name'],
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ plugin_dict['plugin_args']
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ )
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ logger.debug(
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ "site-specific plugin enabled -> Type:{0} Name:{1} Args: {2}".format(
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ plugin_dict['plugin_type'],
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ plugin_dict['plugin_name'],
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ plugin_dict['plugin_args']
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ )
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ )
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ except KeyError:
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ # Malformed config
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ logger.debug("Invalid custom configuration found for enable_plugins")
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
def render(self, validate=True):
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
if validate:
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
self.spec.validate()
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ self.render_customizations()
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
# !IMPORTANT! can't be too long: https://github.com/openshift/origin/issues/733
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
self.template['metadata']['name'] = self.spec.name.value
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
self.render_resource_limits()
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
diff --git a/osbs/build/manipulate.py b/osbs/build/manipulate.py
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
index a6b64cf..a0fd1b8 100644
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
--- a/osbs/build/manipulate.py
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+++ b/osbs/build/manipulate.py
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
@@ -50,6 +50,21 @@ class DockJsonManipulator(object):
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
self.dock_json[plugin_type].remove(p)
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
break
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ def add_plugin(self, plugin_type, plugin_name, args_dict):
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ """
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ if config has plugin, override it, else add it
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ """
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ plugin_modified = False
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ for plugin in self.dock_json[plugin_type]:
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ if plugin['name'] == plugin_name:
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ plugin['args'] = args_dict
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ plugin_modified = True
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ if not plugin_modified:
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ self.dock_json[plugin_type].append({"name": plugin_name, "args": args_dict})
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
def dock_json_has_plugin_conf(self, plugin_type, plugin_name):
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
"""
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
Check whether a plugin is configured.
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
diff --git a/osbs/constants.py b/osbs/constants.py
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
index 649626c..282f002 100644
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
--- a/osbs/constants.py
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+++ b/osbs/constants.py
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
@@ -18,6 +18,7 @@ DEFAULT_CONFIGURATION_FILE = "/etc/osbs.conf"
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
DEFAULT_CONFIGURATION_SECTION = "default"
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
DEFAULT_OUTER_TEMPLATE = "prod.json"
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
DEFAULT_INNER_TEMPLATE = "prod_inner.json"
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+DEFAULT_CUSTOMIZE_CONF = "prod_customize.json"
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
GENERAL_CONFIGURATION_SECTION = "general"
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
POD_FINISHED_STATES = ["failed", "succeeded"]
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
POD_FAILED_STATES = ["failed"]
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
diff --git a/tests/build/test_build_request.py b/tests/build/test_build_request.py
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
index add97d3..96c642e 100644
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
--- a/tests/build/test_build_request.py
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+++ b/tests/build/test_build_request.py
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
@@ -1348,3 +1348,97 @@ class TestBuildRequest(object):
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
pull_base_image_plugin = get_plugin(
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
plugins, 'prebuild_plugins', 'pull_base_image')
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
assert pull_base_image_plugin is not None
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ def test_render_prod_custom_site_plugin_enable(self):
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ """
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ Test to make sure that when we attempt to enable a plugin, it is
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ actually enabled in the JSON for the build_request after running
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ build_request.render()
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ """
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ plugin_type = "exit_plugins"
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ plugin_name = "testing_exit_plugin"
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ plugin_args = {"foo": "bar"}
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ build_request = BuildRequest(INPUTS_PATH)
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ build_request.customize_conf['enable_plugins'].append(
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ {
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ "plugin_type": plugin_type,
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ "plugin_name": plugin_name,
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ "plugin_args": plugin_args
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ }
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ )
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ kwargs = get_sample_prod_params()
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ build_request.set_params(**kwargs)
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ build_request.render()
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ assert {
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ "name": plugin_name,
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ "args": plugin_args
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ } in build_request.dj.dock_json[plugin_type]
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ def test_render_prod_custom_site_plugin_disable(self):
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ """
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ Test to make sure that when we attempt to disable a plugin, it is
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ actually disabled in the JSON for the build_request after running
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ build_request.render()
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ """
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ plugin_type = "postbuild_plugins"
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ plugin_name = "compress"
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ build_request = BuildRequest(INPUTS_PATH)
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ build_request.customize_conf['disable_plugins'].append(
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ {
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ "plugin_type": plugin_type,
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ "plugin_name": plugin_name
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ }
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ )
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ kwargs = get_sample_prod_params()
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ build_request.set_params(**kwargs)
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ build_request.render()
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ for plugin in build_request.dj.dock_json[plugin_type]:
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ if plugin['name'] == plugin_name:
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ assert False
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ def test_render_prod_custom_site_plugin_override(self):
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ """
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ Test to make sure that when we attempt to override a plugin's args,
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ they are actually overridden in the JSON for the build_request
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ after running build_request.render()
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ """
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ plugin_type = "postbuild_plugins"
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ plugin_name = "compress"
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ plugin_args = {"foo": "bar"}
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ kwargs = get_sample_prod_params()
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ unmodified_build_request = BuildRequest(INPUTS_PATH)
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ unmodified_build_request.set_params(**kwargs)
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ unmodified_build_request.render()
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ for plugin_dict in unmodified_build_request.dj.dock_json[plugin_type]:
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ if plugin_dict['name'] == plugin_name:
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ plugin_index = unmodified_build_request.dj.dock_json[plugin_type].index(plugin_dict)
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ build_request = BuildRequest(INPUTS_PATH)
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ build_request.customize_conf['enable_plugins'].append(
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ {
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ "plugin_type": plugin_type,
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ "plugin_name": plugin_name,
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ "plugin_args": plugin_args
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ }
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ )
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ build_request.set_params(**kwargs)
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ build_request.render()
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ assert {
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ "name": plugin_name,
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ "args": plugin_args
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ } in build_request.dj.dock_json[plugin_type]
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ assert unmodified_build_request.dj.dock_json[plugin_type][plugin_index]['name'] == plugin_name
|
|
![](https://seccdn.libravatar.org/avatar/02cf80f2ac9f976511a6d7d797522268f89d58d9817c0a5fc301f40f77ec8cdc?s=16&d=retro) |
fdacb5d |
+ assert build_request.dj.dock_json[plugin_type][plugin_index]['name'] == plugin_name
|