aboutsummaryrefslogtreecommitdiffstats
path: root/puppet
AgeCommit message (Collapse)AuthorFilesLines
2015-10-01Ensure present/latest for puppet driven package updatesSteve Baker5-5/+26
This change updates yum_update.sh so that we set set a boolean output when "managed" packages should get updated. The output is named 'update_managed_packages' and for the puppet implementation it is wired up so that it directly sets tripleo::packages::enable_upgrade to control whether packages are updated. It also modifies yum_update.sh to build a yum update excludes list for packages managed by puppet. The exclude lists are being generated via puppet-tripleo as well via the new 'write_package_names' function that is now wired into all the role manifests. This change does not actually trigger the puppet apply. The fix for Related-Bug: #1463092 will be used to trigger the puppet run when the hiera changes. As a minor tweak to this logic we append the UpdateIdentifier to the config_identifier so that we ensure puppet gets executed on an update where other (non-related) hiera changes also occur. Co-Authored-By: Dan Prince <dprince@redhat.com> Change-Id: I343c3959517eae38bbcd43648ed56f610272864d
2015-10-01Write package names out to flat filesDan Prince7-2/+14
This patch updates all of the overcloud manifests so that we write out flat files containing lists of the Puppet packages which were managed by each manifest. The flat files all get written to /var/lib/puppet-tripleo/installed-packages/ where they can be easily parsed by external tools. Example format from the flat files looks like (for the controller step 1): cat /var/lib/puppet-tripleo/installed-packages/overcloud_controller1 keepalived haproxy Depends-On: If3e03b1983fed47082fac8ce63f975557dbc503c Change-Id: Ia324a08711796aa664f9c0273a051f4f2e3e92c9
2015-09-28Merge "Adding core_plugin, type_drivers and service_plugins parameters"Jenkins4-8/+74
2015-09-25Adding core_plugin, type_drivers and service_plugins parametersShiva Prasad Rao4-8/+74
Make core_plugin, type_drivers and service_plugins parameter in neutron configurable through heat. Also changing the type_drivers order to "vxlan,vlan,flat,gre" Change-Id: Iba895ed5897bdaf7bb772ffc063c424abb6e1638
2015-09-25Add CephStorageExtraConfigPre resourceGiulio Fidente1-1/+12
This change adds a CephStorageExtraConfigPre which can be used to distribute hooks for the CephStorage nodes. Change-Id: Id0023d8ffddb3ee5e855d5dcc32c76bc41ce4c63
2015-09-25Allow a user to set specific setting per hostYanis Guenane5-0/+5
It is currently not possible to specify settings per host and not per type of host. One of the example of the problematic that could cause is : What if node0 have devices /dev/sdb and /dev/sdc while node1 have devices /dev/sda and /dev/sdd, they is currently no way to specify that simply. The idea here is to add a top priority file in the hiera lookup that will match the UUID of the System Information section in the output of the dmidecode command. The file could be provided with the firstboot/rsync stack for example. Change-Id: I3ab082c8ebd2567bd1d914fc0b924e19b1eff7d0
2015-09-25Example of passing per-node config data in pre_deploy configSteven Hardy1-0/+56
Shows one method of passing a map of data in to the pre_deploy extraconfig interface, such that it could be used in combination with https://review.openstack.org/#/c/215013/ to create a node uuid specific hieradata file, or to perform some other non-puppet per-node configuration. This would be used by specifying an environment file like: resource_registry: OS::TripleO::ControllerExtraConfigPre: puppet/extraconfig/pre_deploy/per_node.yaml parameter_defaults: NodeDataLookup: | {"AB4114B1-9C9D-409A-BEFB-D88C151BF2C3": {"foo": "bar"}, "8CF1A7EA-7B4B-4433-AC83-17675514B1B8": {"foo2": "bar2"}} Change-Id: I62e344669e0ca781dd93d3f7d2190b70299877c2
2015-09-25Merge "Rename -puppet.yaml templates."Jenkins8-0/+0
2015-09-23Merge "Remove nameserver lookup dependency from Cisco ML2 CollectMacConfig."Jenkins1-2/+11
2015-09-23Merge "Add redis ordering with ceilometer-central"Jenkins1-0/+16
2015-09-23Merge "Re-add constranits between nova-api and nova-novncproxy"Jenkins1-18/+16
2015-09-22Remove nameserver lookup dependency from Cisco ML2 CollectMacConfig.tiswanso1-2/+11
The collection of hostname to MAC mappings done in AllNodesPostDeploy uses 'hostname -f' to get the FQDN for each node. This form of the command causes a nameserver lookup for the domain name. A timing issue has been seen where the hostname lookup fails due to the nameserver not having the mapping yet. The solution is to hardcode the domain to 'localdomain' as is done in a few other patches--ie. see controller-puppet.yaml. Change-Id: Ibea50fcc6b9f22ca163ff063e0dc9ca69dff5f34
2015-09-23Merge "Remove default_floating_pool in compute.yaml"Jenkins1-1/+0
2015-09-22Put staticweb middleware after keystoneauth in proxy pipelineEmilien Macchi1-1/+1
The staticweb middleware needs to be put after authentication middlewares to ensure correct functionality as documented in http://docs.openstack.org/developer/swift/middleware.html#staticweb Without this Swift sends a HTML response even if the request was done using a X-Auth-Token. This might result in a faulty handling of the response on the client side; for example, "swift stat containername" would report an empty, private container, while the container might actually be public readable with data stored in it. Closes-bug: 1494896 Change-Id: Id48840e0041f8d272e08def292fbedfaf76bbfbb Co-Authored-By: Christian Schwede <cschwede@redhat.com>
2015-09-22Rename -puppet.yaml templates.Dan Prince8-0/+0
Updates the /puppet directory templates so that we drop the '-puppet' from the filenames. This is redundant because we already have puppet in the directory name and fixes inconsistencies where we aren't using -puppet in all the files within the puppet directory. Depends-On: I71cb07b2f5305aaf9c43ab175cca976e844b8175 Change-Id: I70d6e048a566666f5d6e5c2407f8a6b4fd9f6f87
2015-09-22Remove default_floating_pool in compute.yamlJames Slagle1-1/+0
This is unused on compute nodes and does not need to be specified. Further, nova::api is not even included in the compute puppet manifest, so it had no effect anyway. Change-Id: I7589bf544fb1ddad3cd371869756cb880c0bac37
2015-09-22Pass default_floating_pool into nova::api classDerek Higgins2-7/+3
We were calling nova_config resource to define it but as of Ic060fc18c8f5d7dc8fcf1d7bd921623dc505a515 its now included as part of the nova::api class. Closes-bug: #1498237 Change-Id: I948f26304536e2d692acf38d994d29167672168b Depends-On: I2789e782a4fd673e09c6334b6d56819c68414c80
2015-09-21Merge "Configure ctlplane network with a static IP"Jenkins5-0/+5
2015-09-17Configure ctlplane network with a static IPDan Prince5-0/+5
This patch updates all network configuration templates so that we configure the ctlplane network interface with a static IP instead of using DHCP. The IP address used for the static IP is passed into each nested stack network configuration template via the ControlPlaneIp parameter. Three new nested stack parameters called ControlPlaneSubnetCidr, ControlPlaneDefaultRoute, and EC2MetadataIp have been added to help configure the CIDR, default route, and EC2 metadata route on the ctlplane statically. These parameters can be customized via the parameter_defaults section in the heat environment. A single new template called net-config-static-bridge.yaml has been added to help migrate towards using the static configuration templates when not using network isolation. Depends-On: I257e1cba6dee16f73f75512d1284e1e3b9d4c831 Change-Id: Ib267e6dcf2d5ff77f7a82ee20a123965c2d07565
2015-09-17Support new form of servers config for ML2 cisco nexus allnodes config.tiswanso1-2/+1
The puppet-neutron changes to remove the usage of ERB templates require changing the format of the 'servers' hash/dictionary to include a key for use with puppet's create_resources directly from hiera data. Depends-On: I401371c9e5176de7ce19d4d4e878e9f2e69aab80 Change-Id: I950b7fb019dd8dd072592618b968a19df5c9c884
2015-09-17Port Cisco Nexus/UCSM ExtraConfig to AllNodesSteven Hardy2-141/+326
Switch the implemention from a pre_deploy ExtraConfig to an AllNodesExtraConfig, so we can collect the mac->hostname mapping for all nodes, then calculate a NexusConfig based on that and a provided mapping of switch ports to mac address. The same conversion is also done to the NetworkUCSMHostList: The port mappings are provided via parameter_defaults like: parameter_defaults: NetworkNexusConfig: { "bxb-tor-1": { "username": "admin", "ssh_port": 22, "password": "lab", "ip_address": "10.86.7.204", "nve_src_intf": 0, "physnet": "datacentre", "servers": { "fa:16:3e:fa:be:ef": "1/11", "fa:16:3e:fa:5e:cf": "1/23", "fa:16:3e:fa:12:34": "2/34" } } } NetworkUCSMHostList: 'fa:16:3e:fa:be:ef:profile1' This results in an entry like this appended to /etc/puppet/hieradata/neutron_cisco_data.yaml: neutron::plugins::ml2::cisco::nexus::nexus_config:\ {"bxb-tor-1": {"username": "admin", "nve_src_intf": 0, "ssh_port": 22, "servers": {"overcloud-compute02": "2/34", "overcloud-compute01": "1/23", "overcloud-control01": "1/11"}, "password": "lab", "ip_address": "10.86.7.204", "physnet": "datacentre"}} neutron::plugins::ml2::cisco::ucsm::ucsm_host_list: overcloud-control01:profile1 Co-Authored-By: Rob Pothier <rpothier@cisco.com> Co-Authored-By: Tim Swanson <tiswanso@cisco.com> Change-Id: I372c3ffb6bd85b7239fcb9f3fc4fa51cd4a39332
2015-09-17Merge "Big Switch Neutron ML2 plugin integration"Jenkins4-0/+94
2015-09-16Merge "Set pacemaker default resource-stickiness"Jenkins2-0/+4
2015-09-16Big Switch Neutron ML2 plugin integrationJiri Stransky4-0/+94
Add support for Big Switch Neutron ML2 plugin. Makes sure that the package is present and sets up the [restproxy] section in ml2_conf.ini. This also adds support for setting the ovs_use_veth option in l3_agent.ini. There is no support for this in puppet-neutron l3 class and it probably doesn't make sense adding it there, because this setting isn't relevant for all l3 agent drivers, it's specific to OVSInterfaceDriver. The ovs_use_veth option is also added to dhcp_agent.ini. Change-Id: I99635e25b2099dacce68154fe14693d6f06ac19f
2015-09-16Merge "Enable Cisco Nexus and UCSM plugins"Jenkins4-0/+158
2015-09-16Merge "Add 4 pacemaker constraints for keystone"Jenkins1-0/+37
2015-09-15Merge "Ensure mysql root can only connect from localhost"Jenkins1-0/+1
2015-09-15Enable Cisco Nexus and UCSM pluginsRobert Pothier4-0/+158
This enables support for the Cisco UCS Manager and Cisco Nexus plugins Change-Id: I1bc28a4768d5d6857a0504ca1f77dd71259570b8
2015-09-15Merge "switch to vxlan by default"Jenkins2-4/+4
2015-09-15Merge "Consume the NeutronMechanismDrivers from the hiera data"Jenkins2-0/+2
2015-09-10Merge "Set the nova scheduler ram_allocation_ration to 1.0"Jenkins3-0/+3
2015-09-09Merge "Don't add 'host' parameter to cinder.conf"Jenkins2-8/+0
2015-09-08Merge "Add NodeAdminUserData interface for "heat-admin" user"Jenkins5-5/+90
2015-09-07Don't add 'host' parameter to cinder.confDerek Higgins2-8/+0
As of I54a75652efd5e91464b84adf84004400b343c3a5 for rdb this is being done by the cinder puppet module. Change-Id: I109e139fcbb859a0d9ed99054656be94975d33b5
2015-09-05Keystone network isolation fixesDan Prince2-5/+11
This patch adds explicit nested stack parameters to help manage use of the Keystone Admin API vs. the Keystone Public API. We also add a new output parameter specifically for the Keystone admin API VIP. This can be useful when configuring keystone endpoints with network isolation. Change-Id: I2bd3e61570151e2faeee14ee09b03ad0b3208cc1
2015-09-05Merge "Support for using external Ceph clusters"Jenkins4-10/+102
2015-09-05Allow 'ctlplane' to be used within Net IP MapsDan Prince5-13/+20
When using network isolation you might want to selective move one of the services back to the default ctlplane network by simply using the ServiceNetMap parameter. This patch adds ctlplane to the output parameters for both the net_ip_map and net_ip_list_map nested stacks so that this is possible. As part of this patch we also split out the NetIpSubnetMap into its own unique nested stack so that the Heat input parameters for this stack are more clearly named. Change-Id: Iaa2dcaebeac896404e87ec0c635688b2a59a9e0f
2015-09-03Add NodeAdminUserData interface for "heat-admin" userSteven Hardy5-5/+90
Reinstates the heat-admin user via template user-data, which replaces the previous boothook injected user provided by the (deprecated now removed) heat instance_user option. This has some advantages over the heat.conf option, e.g it allows for much easier customzation of the user configuration (additional SSH keys, adding groups etc), and also in future if we support deploying more than one overcloud you could specify a different user per deployment. Co-Authored-By: Dan Prince <dprince@redhat.com> Change-Id: I2235b9690c01542d8a28ec1c1a4607de751aea29 Closes-Bug: #1229849
2015-09-02Add redis ordering with ceilometer-centralJiri Stransky1-0/+16
This is another missing constraint. The `require-all=false` part is good to have, otherwise Ceilometer (and transitively Heat) would switch to A/P mode. However, at the moment `require-all=false` isn't a recognized parameter on Fedora, hence the logic fork based on $::operatingsystem. Change-Id: I2657087192a05b2d8f0ab04ec60631d35331bf6c
2015-09-02Set pacemaker default resource-stickinessJiri Stransky2-0/+4
This is required for HA to work correctly. Change-Id: I9faa8fd7bbbac67de5c468ab6fc4edb2260dffe7 Depends-On: https://github.com/redhat-openstack/puppet-pacemaker/pull/61
2015-09-02Re-add constranits between nova-api and nova-novncproxyJiri Stransky1-18/+16
This can probably only be merged when we move CI forward from Fedora 21 to Fedora 22. Change-Id: I3a3db4b179cc19756f75003dacd2bb4cd957f0de
2015-09-02Set the nova scheduler ram_allocation_ration to 1.0Emilien Macchi3-0/+3
We don't have swap space enabled on overcloud-full deploys as discussed at https://bugs.launchpad.net/tripleo/+bug/1491335 The default is 1.5 so configure Virtual ram to physical ram allocation ratio to 1:1 so we don't allow overcommit. Related-Bug: 1491335 Change-Id: I58cfe6dc68e8615a5519428412dec8c653bd6093
2015-08-31Merge "Enable Keystone notifications"Jenkins3-0/+20
2015-08-31Add 4 pacemaker constraints for keystoneJiri Stransky1-0/+37
These were missing and are required for a correct deployment. Change-Id: I49a61d0ab2f750f2620927a40f798d11b241b2c0
2015-08-25Consume the NeutronMechanismDrivers from the hiera datamarios2-0/+2
This is passed from the heat templates as hiera data (defaulting to 'openvswitch') but never effected, meaning we get the puppet module default. Change-Id: I3f14cdce9b9bf278aa9b107b2d313e1e82a20709 Closes-Bug: 1488176
2015-08-21switch to vxlan by defaultMike Burns2-4/+4
VXLAN has better performance (20-25% better) NICs with VXLAN offload are more common Change-Id: If57c79a1309ae178b3e82d54bb101dde584c86cc Related: rhbz#1244864
2015-08-18Merge "Wire in Compute pre-deployment extraconfig"Jenkins1-1/+12
2015-08-18Enable Keystone notificationsGiulio Fidente3-0/+20
This change enables Keystone notifications and adds two parameters to control the notification driver and format. Change-Id: I23ac3c46ee9eb49523d3b8dab027ef21fc6e42df
2015-08-13Support for using external Ceph clustersDan Prince4-10/+102
This patch adds support for using an externally managed Ceph cluster with the TripleO Heat templates. For an externally managed Ceph cluster we initially only deploy the Ceph client tools, install the 'openstack' user keyring, and generate the ceph.conf. This matches what we do for managed Ceph installations and is a good first start. No other Ceph related services are installed or managed. To enable use of a Ceph external cluster simply add the custom Heat environment file environments/puppet-ceph-external.yaml to your heat stack create/update command and make sure to set the required CephClientKey, CephExternalMonHost, and CephClusterFSID variables. Change-Id: I0a8b213ce9dfa2fc4e62ae1e7631466e5179fc2b
2015-08-06Merge "Drive DB initialization via Hiera"Jenkins4-102/+75