In order to prevent build templates to render during plugin
creation we need to put them into different directories.
Change-Id: I439bc7618a43ad07cc73fb69b60d99d725c3f9d0
Closes-Bug: #1655289
It turned out that templates/base is used to create new plugin
directory structure by fpb --create and, therefore, is a bad place to
put Release.mako since it is attempted to render it at plugin creation
time, not at a build time as inteded.
Change-Id: I7dbbf192827f8b2a0c0675050f7b48820952f6af
Closes-Bug: #1655289
Release file began to present in a plugin ubuntu repository only since
version 2. This now conflicts with our new repo pinning code which
expects Release file to be in place.
Related-Bug: #1650551
Change-Id: I09b956555c3a6ab0944216d866739fb7f6dc66a0
The fix broke backward compatibility and used hardcoded
value.
Related-bug: #1603987
Related-bug: #1648882
This reverts commit 3f33bf09e3.
Change-Id: Ie3420116926bef518d68c3e3b381e5cff4c98b6f
As per OpenStack licensing guide lines [1]:
[H104] Files with no code shouldn't contain any license header nor
comments, and must be left completely empty.
[1] http://docs.openstack.org/developer/hacking/#openstack-licensing
Change-Id: I1b4e87d12ade01d9ce2658a6e6533acb1fd9b5c3
Since Fuel 9.0 we have a new type for environment attributes: "text_list".
In that case, attribute's value must be an array. FPB didn't handle that
case, and throws error for any case when value is array.
This patch add "array" as a valid type for "value". In order to keep
simplicity and do not overcomplicate JSON schema, it allows arrays for
all types, not only for "text_list". It's consistent with Nailgun code,
where we don't have such check either.
Change-Id: I2ab401e4cdc7c1a1eb276aa71253818c688fdca1
Closes-Bug: #1616466
On master node there is no /etc/fuel/plugins/<plugin name>
directory. This causes failures of a plugin shell tasks on master node
because before execution there is an attempt to set current directory to
it. In order to fix this we make a symlink:
/etc/fuel/plugins/<plugin name> ->
/var/www/nailgun/plugins/<plugin name>/deployment_scripts
Change-Id: Idbd2d94462b72a7f98967b379f504c245a6c7135
Closes-Bug: #1603987
Some plugins may have repeating packages, which are currently filtered
by dpkg-scanpackages. This is the case for multiarch builds of some Fuel
plugins like ODL, which build and ship both amd64 and arm64 DEBs for ODL
prereqs. Allow multiple versions of a single package, by passing the
`-m` flag to dpkg-scanpackages when building local Ubuntu repo.
Closes-Bug: #1599896
Change-Id: Iba6442d2f21b252769ae30b2af01bbb04e16fd4c
Signed-off-by: Guo Ruijing <ruijing.guo@intel.com>
Set current working directory to the plugin directory before executing
prebuild hook. This allows prebuild hook script to refer to other
scripts in plugin directory using relative path.
Change-Id: I86193b26e5bd55ea55a712e473c2bbb3b36918fd
Closes-Bug: #1578598
Without no-op, empty uninstall hook will cause invalid 'if' statement
to be created. As a result, uninstallation of such a package fails.
Change-Id: Idb12870db05b311f6c18cf0eb7d14a200ced6983
This change tells rpmbuilder to not fail the build if arch specific
binaries are included as part of the plugin. This is helpful if a
plugin wants to include a binary and deploy it via puppet or some other
method that will just copy the file.
Change-Id: Ic3ca86671f0a107b47ab68a54938b6f4040c90b2
Closes-Bug: #1578852
Allow a user to specify any arbitrary string
as role name for cross-deps that could be
a regexp or a TASK_ROLE_PATTERN string
Log a warning when task is not assigned
to roles/groups/fields
Set default logging level to INFO
Change-Id: I42c2490cf22f53892a189165698d1acd56ee4c74
Closes-bug: #1557997
Don't put any code to PREUN scripts if uninstall.sh
does not exist or is empty.
Closes-bug: #1574478
Change-Id: Ie7767e285b8086921a944da4bea9aa9749a0e323
Allow a user to specify any arbitrary string
as role name for cross-deps that could be
a regexp or a TASK_ROLE_PATTERN string
Change-Id: I7124195fd9249acf13236751b7c59bcff2f42b2c
Closes-bug: #1557997
It should be possible to use generators in
environment config. However validation schema
doesn't allow it.
Nailgun doesn't contain such scheme because
validation take place after all values have been
generated
Change-Id: Iff2feb7357afff02793deee65b6c65072914739c
Closes-Bug: #1557562
When package is upgraded the following steps are perfored:
- Run the %pre section of the RPM being installed.
- Install the files that the RPM provides.
- Run the %post section of the RPM.
- Run the %preun of the old package.
- Delete any old files not overwritten by the newer version.
(This step deletes files that the new package does not require.)
- Run the %postun hook of the old package.
uninstall_hook should be executed only when package removing is
performed. Otherwise in case of upgrade plugin changes made in
post-install.sh can be removed by unistall.sh
Change-Id: Idba866be2556aacc9ac0abeff67afcf34f02d93b
Closes-Bug: #1564123
To support conflict of some node role with other roles '*' symbol is used.
This patch provides fix in validation for such situation.
Change-Id: If0123dbb05df0eddb071527990417ebafe300c93
Related Bug: #1547590
Plugins V4 are able to be installed on Fuel 9.0 with release
mitaka-9.0. Metadata template changed for generate plugins
for the latest OpenStack release version.
Change-Id: Ic055a3738a670ddc096b1e12e1fe419e9934a092
Closes-Bug: #1549276
Task-based deployment is intoduced as experimental orchestrator in Fuel v8.0.0
Plugins v4.0.0 could use tasks v2.0.0 in deployment_tasks.yaml
Also small problem with existing but empty legacy tasks.yaml is fixed.
Change-Id: Ibf8d65833b74c79e0c63ae9c51995c953b83d301
Closes-Bug: #1533771
Related-Bug: #1534235
Recently Fuel has changed its version format in order to be closer
to OpenStack [1]. We should reflect that change in FPB's templates
and example plugins.
[1]: I5bdabcf921ccda53b672d3f535238cd4c8c184fc
Change-Id: I6d2610aae51c4e8ac7e8699914975c84fa8c62f8
Closes-Bug: #1535293
- The plugin deployment tasks now could contain
cross-depends and cross-depended-by properties
inroduced by task based deploment feature.
Change-Id: Icb351e4475ba6e78e7c8ef22cefc255116d44ba8
Related-Bug: #1527325
Currently validation process fails when 'bind' attribute exists in
components.yaml file. Validation of json schema should support it.
Partial-Bug: #1523981
Change-Id: Ifbdb552e7e17df6d6b94e2167de359a4eb3feb91
In context of 'redeploy-network-on-changes' feature appeared new attribute
called 'reexecute_on' for deployment task. This patch provides basic json
schema validation for it.
Change-Id: I7aa7b00893182288b7cb86bef74f893289396caa
Closes-Bug: #1527624