This version that includes the following features:
- Added new plugin version with node & nic attributes support
This version that includes the following fixes:
- Move Release.mako into v1 template dir
- Make ubuntu repo similar for all plugin versions
- Show team and repo badges on `README`
- Remove reboot task from plugin example version "3.0.0"
- Files with no code must be left completely empty
- Legacy deployment tasks are turned back for plugin example version "3.0.0"
- `tasks.yaml` was commented for plugin example version "3.0.0"
- Allow unauthenticated packages in the deployment scripts
- Allow arrays in 'value' in environment_config.yaml
- Old `tasks.yaml` content is commented for plugins packages version "4.0.0"
- Allow possibility to provide rpm `Release` version
- Rename existing BaseValidator to LegacyBaseValidator
- Fix a word spell error in `README.rst`
- Support multi versions of package in fuel plugin
Change-Id: Ifddad557d9572e36ea4551c4e1bf583ccc9dafdb
Partial-Bug: #1660934
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
This task isn't needed for example purposes but it indirectly conflicts
with other task which are cruicial for tests. These tasks create files
in /tmp but the reboot task makes them disappear.
Change-Id: Iff09fb84c04737813455cc7cc75502f14c992e90
Closes-Bug: #1625244
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
In previous patch tasks.yaml contained legacy tasks was cleaned up
but it turned up that some QA tests was relying on this tasks output
so this tasks was moved to the deployment_tasks.yaml to provide this
output.
Double unfortuantely FPB validation does not support tasks <v1.0.0
validation for the deployment_tasks.yaml without major changes in
validation logic.
So the tasks was converted to the tasks v1.0.0 by adding tasks id.
Change-Id: I1f820030a0575155b06db3c493accadc252c241a
Closes-Bug: #1625244
Task from tasks.yaml in example v3 was running
example.pp the second time and this have been fixed.
Change-Id: Ic4263cc7998f9bba9f0144ddc46613d30fa5c002
Closes-Bug: #1625244
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
It's a bugfix version that includes the following fixes:
- `tasks.yaml` is now optional for package version "4.0.0"
- Fuel Mitaka (9.0) is supported by default in package version "4.0.0"
- Use more reliable way to check for `fpm` Ruby GEM
- Add ability for role to conflict with all roles by using `*` sign
- Do not execute `uninstall.sh` on plugin upgrade
- Add possiblity to use generators in `environment_config.yaml`
- Don't put any code to PREUN section if `uninstall.sh` doesn't exist or empty
- Allow a user to specify any arbitrary string as role name for cross-deps
- Add deployment tasks v2.1 validation support
Related-Bug: #1594949
Change-Id: I9ce3b85ab9ac9516def24c15d1cb20ab69350ce2
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