This is a mechanically generated change to replace openstack.org
git:// URLs with https:// equivalents.
This is in aid of a planned future move of the git hosting
infrastructure to a self-hosted instance of gitea (https://gitea.io),
which does not support the git wire protocol at this stage.
This update should result in no functional change.
For more information see the thread at
http://lists.openstack.org/pipermail/openstack-discuss/2019-March/003825.html
Change-Id: Ie9674a375dff0ce96a792b27ed81ed24fb1188b9
On puppet 4, undef will stop evaluating to :undef in the templates and
instead start evaluating to nil, so check for both to cover our bases.
Change-Id: I6e446cf1a15c9cc5e24f93e755fa3000298f7caa
The logic in the Gemfile was relying on Zuulv2 variables to find out
whether the spec helper gem was already available on disk, and since
Zuulv3 has changed things it was failing to find it and downloading the
master version instead. This patch ensures the Gemfile looks for the gem
in the right place when running in CI.
Change-Id: Iec89bcc9c335e44f83b08e1048bc848946036f44
Instead of keeping a local copy of spec_helper_acceptance.rb and
requiring updates to all modules for any change, we can move it into the
common helper gem and require it from there. This will make it easier to
create and review changes that affect all puppet modules. Also change
the Gemfile to look for the gem in the local workspace if running in a
zuul environment.
Change-Id: I4f8f403452416a1b6203684e1b6d7b5e2743dce3
Since the beaker jobs are being run on xenial, we need a special nodeset
for it, otherwise beaker gives an error:
beaker-hostgenerator was not able to use this value as input.
Exiting with an Error.
We also want to install puppet from the Ubuntu repos rather than from
puppetlabs, since puppetlabs doesn't support puppet 3 for Xenial. For
centos we can keep the install process the same.
Change-Id: Ifd2244ae9dd212b2475f9cd6adb994bc058a4769
Depends-On: Ife2993b07dd995fc97676c002a91d0e695407522
Bindep is a tool for checking the presence of binary packages needed
to use an application / library. It started life as a way to make it
easier to set up a development environment for OpenStack projects.
Change-Id: Ife2993b07dd995fc97676c002a91d0e695407522
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
This commit adds the code to manage a ansible callback_plugins directory
and sets in the ansible.cfg. This will be used for adding our own
callback plugins.
Change-Id: I697a74a5dbd63e9a87913c96a3e9be93ee7860da
The version is hardcoded within the class code, preventing to
specify a specific version of Ansible for nodes using this class.
In the infracloud baremetal node I need Ansible 2.1.1.0, I will
propose a subsequent patch on system-config/site.pp after this
merges.
Change-Id: Ie4120c8744eed78022ebcc3ea696142d1a1375aa
There are two observed failures with 2.1:
* Our group hiera files are not being copied over.
* ansible_module_puppet_post_puppetdb.py causes a "MODULE FAILURE".
Change-Id: I79fd382180dfe3b024fdcdab8a5a984800fad336
Pulling inventory from puppetmaster was a neat hack, but it was also
a hack. Let's stop providing it.
Depends-On: Ic6809ed0b7014d7aebd414bf3a342e3a37eb10b6
Change-Id: I6bb66cecca8c3ddd6d2cef2a05324faa67ca98c2
As discussed on another project patches when introducing tests[1], we
would like to keep the tests closer to the where we apply the spec.
This change makes the testing structure consistent to the feedback given
on puppet-bandersnatch discussion.
[1] https://review.openstack.org/#/c/221941/
Change-Id: I7d0d1dc856f03f422fa5331a98f20d5661c462be
Co-Authored-By: Danilo Ramalho <dramalho@thoughtworks.com>
Add acceptance tests for puppet-ansible module so that once the module
is applied we check if files were created and packages were installed.
Co-Authored-By: Bruno Tavares <btavare@thoughtworks.com>
Change-Id: Ic569a70737f7e9d0a86c14e1f299b308ab9d3986
Use same target directory for zuul-cloner and
the regular git command.
Change-Id: Iff07b9151a98059e1bbcc13139307f91273488d5
Co-Authored-By: Fabien Boucher <fabien.boucher@enovance.com>
Variables with numbers for names are valid as regex capture groups in
puppet 4[1], so this check is not beneficial and can be
counterproductive when we do actually want to have numeric variables.
[1] https://docs.puppetlabs.com/puppet/latest/reference/lang_variables.html#naming
Change-Id: Idb6b8f2b5350496ba41f3d559ccbd07d9e983573
In anticipation of puppet 4, start trying to deal with puppet 4 things
that can be helpfully predicted by puppet lint plugins.
This patch also fixes lint errors caught by the
puppet-lint-absolute_classname-check gem. It removes a duplicate
inclusion of the logrotate class rather than fixing its namespace
issue.
Change-Id: I263b8a80a18bc2607d547caac7e8587e2e4dd5ea
The http://ci.openstack.org/ documentation site has been deprecated,
replaced by redirects to corresponding paths within
http://docs.openstack.org/infra/ where other Project Infrastructure
documentation already resides.
Change-Id: Ie1eefb4da90a8ddae1260ebab120051ee981bdab
Once we have standalone ansible roles, we don't need to embed the
ansible code in the puppet module. We also don't need to delete the
existing roles path, as the follow on standalone role should go in
place, but we want the existing role to exist in the mean time.
Change-Id: I76d5cab55942beaff44ea5f289f93ff6ce772c5f
Puppet won't remove directories without force => true being set. Set it
to actually get rid of the dir.
Change-Id: I3d3486c50d291a14eb5262998234159f1b4668c1
Roles can contain embedded library code, which is how roles work when
you distribute them on ansible galaxy. Put the library there and remove
the old location to prepare for standalone modules.
Change-Id: Iaa7906f71bb0a3bc255695e72b6ae061407fa2b8
The previous change to make the puppetmaster configurable in the ansible
playbook omitted passing through the parameter in the task. Also, add
the parameter to the module docs.
Change-Id: I6bcd58803fd11c3d64608ea1d9fca269042936b4
With split puppet master infrastructure ansible needs to be told which
puppetmaster to talk to. Do this by making puppetmaster a required
argument to the puppet ansible playbook.
Since we can't rely on the cert listing while this is happening also add
puppet master specific host list files which can be used to specify
which hosts talk to which puppetmaster via the new ansible playbook
feature.
Change-Id: I412c2bd6cb390d00d1b9d0e4630e75776edabbb9
If the logic is just in a role, it's hard to re-use it in a one-off
manner on the command line. By putting it into a module, we can
run:
ansible git0* -m puppet
To run puppet on the git farm, for instance.
Also, the file is completely not openstack specific, so do it in
such a way that we can submit it as a module upstream.
Change-Id: I35b2850e02ec5da2b41ad14eec9fd6d5a356bc93
Instead of a shell script looping over ssh calls, use a simple
ansible playbook. The benefit this gets is that we can then also
script ad-hoc admin tasks either via playbooks or on the command
line. We can also then get rid of the almost entirely unused
salt infrastructure.
Change-Id: I53112bd1f61d94c0521a32016c8a47c8cf9e50f7