This (enormous) patch adds experimental support for a distribution that uses pure hiera in place of the scenario_node_terminus. A python script can be used to convert from the SNT data model to the pure hiera one: contrib/aptira/build/convert.py It requires PyYaml, and will back up the old data directory to data.old. It is not even remotely idempotent. Data mappings are expressed using interpolation except in the case where they are non-string, in which case yaml anchors are used. At this time, YAML anchors are not working across files, which places some restrictions on their use. Scenarios are now a part of the hiera_data folder, and each scenario yaml file contains its mappings, globals, and in future probably its 'user.scenario.yaml' data. Roles are under scenarios/%scenario/$role, and use a hiera lookup of 'classes' and 'class_groups' to include classes. Class groups are a new yaml file in hiera_data, and have been changed to be string quoted since starting yaml keys with a % is invalid. Globals are not handled correctly at this point. They need to be converted into a new structure based around hiera_data/contrib, which will allow arbitrary class includes, but is not quite finished. A new install script has been added at contrib/aptira/install/bootstrap.sh that is an idempotent bash script. This script will install ruby 2.0.0 from a prebuild rpm and then install puppet from gem. It then configures hiera and uses the data model to set up pre-puppet config without needing to run puppet. A new Vagrantfile has been added under contrib/aptira/build that is Vagrant 1.5 compatible, which uses the new bootstrap script. In addition, a new scenario called stacktira has been added, which uses a new galera module and a new module for openstack general functionality called openstacklib. This scenario is added using the node_terminus style of yaml, but functions when converted using the aforementioned convert.py Change-Id: Iaa00b165e2933cdb8c5149343b3cfe40bcc8b3db
39 lines
305 B
Plaintext
39 lines
305 B
Plaintext
apache
|
|
apt
|
|
ceilometer
|
|
cinder
|
|
concat
|
|
devtools
|
|
dnsmasq
|
|
edeploy
|
|
firewall
|
|
galera
|
|
glance
|
|
haproxy
|
|
heat
|
|
horizon
|
|
inifile
|
|
keepalived
|
|
keystone
|
|
memcached
|
|
mysql
|
|
neutron
|
|
nova
|
|
openstack
|
|
openstacklib
|
|
postgresql
|
|
puppet
|
|
puppetdb
|
|
rabbitmq
|
|
rsync
|
|
ruby-puppetdb
|
|
staging
|
|
stdlib
|
|
swift
|
|
sysctl
|
|
tempest
|
|
tftp
|
|
vcsrepo
|
|
vswitch
|
|
xinetd
|