Skip to content

Instantly share code, notes, and snippets.

root@build-server:~# hiera --debug --config /etc/puppet/hiera.yaml neutron::db::mysql::host scenario=db_split_2_role
DEBUG: Thu Sep 19 17:32:22 +0000 2013: Hiera data_mapper backend starting
DEBUG: Thu Sep 19 17:32:22 +0000 2013: Hiera YAML backend starting
DEBUG: Thu Sep 19 17:32:22 +0000 2013: Cannot find datafile /etc/puppet/data/data_mappings/user.yaml, skipping
DEBUG: Thu Sep 19 17:32:22 +0000 2013: Cannot find datafile /etc/puppet/data/data_mappings/jenkins.yaml, skipping
DEBUG: Thu Sep 19 17:32:22 +0000 2013: Looking for datamappings in /etc/puppet/data/data_mappings/scenario/db_split_2_role.yaml
DEBUG: Thu Sep 19 17:32:22 +0000 2013: Found neutron::db::mysql::host in scenario/db_split_2_role
DEBUG: Thu Sep 19 17:32:22 +0000 2013: Cannot find datafile /etc/puppet/data/data_mappings/grizzly_hack.yaml, skipping
DEBUG: Thu Sep 19 17:32:22 +0000 2013: Looking for datamappings in /etc/puppet/data/data_mappings/common.yaml
DEBUG: Thu Sep 19 17:32:22 +0000 2013: key neutron::db::mysql::host will be looked up
Error: /Stage[main]/Nova::Consoleauth/Nova::Generic_service[consoleauth]/Package[nova-consoleauth]/ensure: change from purged to present failed: Execution of '/usr/bin/apt-get -q -y -o DPkg::Options::=--force-confold install nova-consoleauth' returned 100: Reading package lists...
Building dependency tree...
Reading state information...
The following extra packages will be installed:
libtidy-0.99-0 nova-common python-carrot python-cinderclient python-cliff
python-cliff-doc python-cmd2 python-daemon python-dateutil python-dingus
python-feedparser python-gflags python-glance python-ldap python-libxml2
python-netaddr python-neutronclient python-nose python-nova python-pyparsing
python-stompy python-utidylib python-xattr
Suggested packages:
# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 10.0.2.2 0.0.0.0 UG 100 0 0 eth0
10.0.2.0 * 255.255.255.0 U 0 0 0 eth0
10.2.3.0 * 255.255.255.0 U 0 0 0 eth2
10.3.3.0 * 255.255.255.0 U 0 0 0 eth3
192.168.242.0 * 255.255.255.0 U 0 0 0 eth1
...
file, err := os.Open(filename)
if err != nil {
panic(err)
}
defer file.Close()
var lines []string
scanner := bufio.NewScanner(file)
for scanner.Scan() {
# parse config.yaml
global_config_hash = get_global_config
roles = get_roles_from_scenario(global_config_hash['scenario'])
data_keys = get_data_keys(
hiera_data_map_compile(global_config_hash, hierarchy).keys
)
# class groups are just groups of classes that serve a single role
class_groups:
-
# what knows what components are required to fullfill some functionality?
scenarios:
all_in_one:
roles:
all_in_one
classes:
- nova::api
# compute-controller model
verbose:
nova::verbose
glance::verbose
controller_public_address:
nova::api::bind_address
nova::keystone::auth::public_address
glance::keystone::auth::public_address
verbose:
nova::verbose
keyston::verbose
...
Resource counts:
Old: 657
New: 685
Resource title diffs:
Only in old:
class[Openstack::Db::Mysql]
class[Glance::Backend::File]
class[Openstack::Glance]
keystone_service[swift]
1. create bodepd/foo
2. push content
3. rename to bodepd/bar
4. check tha bodepd/foo redirects to bodepd/bar