aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2015-10-01Merge "swift::storage::all deprecation cleanup"Jenkins1-1/+4
2015-10-01Deprecate the undercloud templates.Dan Prince9-5/+5
This patch moves the undercloud templates into the deprecated directory. The Makefile still builds the resulting templates at the top level so users should not be broken by this change. Change-Id: Ibcb87fe31a6894552a5e445b5495e69fdcc2d382
2015-10-01Move RHEL (un)registration to NodeExtraConfigSteven Hardy6-8/+14
Currently, we have a problem because the unregistration happens in the "post deploy" phase, which works fine when the top-level stack is being deleted, but not when the ResourceGroup of servers is being scaled down, because then the normal "post deploy" update ordering is respected and we try to unregister after the corresponding server has been deleted. So, instead, register/unregister each node inside the unit of scale, e.g the role template being scaled down, which is possible via the new NodesExtraConfig interface, which means unregistration will take place at the right time both on stack delete and on scale-down. Change-Id: I8f117a49fd128f268659525dd03ad46ba3daa1bc
2015-10-01Wire in NodeExtraConfig interfaceSteven Hardy6-0/+42
It's become apparent that some actions are required in the pre-deploy phase for all nodes, for example applying common hieradata overrides, or also as a place to hook in logic which must happen for all nodes prior to their removal on scale down (such as unregistration from a satellite server, which currently doesn't work via the *NodesPostDeployment for scale-down usage). So, add a new interface that enables ExtraConfig per-node (inside the scaled unit, vs AllNodes which is used for the cluster-wide config outside of the ResourceGroup) Change-Id: Ic865908e97483753e58bc18e360ebe50557ab93c
2015-10-01Force stop a single node pacemaker on yum updateSteve Baker1-1/+7
Currently package updates won't occur on a single node non-HA pacemaker managed Controller because stopping the node loses the quorum of 1. This change gets the count of current nodes in the cluster and if the count is 1 then specify --force when doing a pcs cluster stop. Change-Id: I0de2488e24f1ef53a935dbc90ec6de6142bb4264
2015-10-01Make package upgrade pacemaker-awareSteve Baker1-7/+45
This change adds alternative logic for handling package updates on a pacemaker managed node. "yum list updates" is now run and this script exits early if there are no packages to update. If the pacemaker service is not running then the previous puppet logic remains, so a package update is performed which excludes packages managed by puppet, and a flag is set to indicate that puppet should perform an ensure=>latest on all packages it manages. However if the pacemaker service is running, the following occurs: - pcs cluster stop is run for this node - a full yum update is performed - pcs cluster start is run for this node - pcs status is run until the hostname for this node appears in the Online list This means that puppet is not involved in the package update process when the node is managed by pacemaker. Change-Id: I5ad118552d053dbda280978751167d9fd9da9874
2015-10-01Ensure present/latest for puppet driven package updatesSteve Baker7-6/+39
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-30Add DnsServers param to network config templatesDan Prince11-0/+55
This patch adds a new optional DnsServers parameter which can be used to provide a custom list of DNS resolvers which will be configured in resolv.conf. Change-Id: I2bb7259ebc09d786dc56da18694c862f802091b1 Depends-On: I9edecfdd4e1d0f39883b72be554cd92c5685881d
2015-09-30Allow enabling debug mode for config management (Puppet)Jiri Stransky8-0/+50
Also adds an environment file which can be passed to heat stack-create to enable debugging. Change-Id: I9758e2ca3de6a0bed6d20c37ea19e48f47220721 Depends-On: Ie92d1714a8d7e59d347474039be999bd3a2b542f
2015-09-30Enable Cisco N1KV driverShiva Prasad Rao7-0/+260
This enables support for the Cisco N1kv driver for the ML2 plugin. It also configures the Nexus 1000v switch. Co-Authored-By: Steven Hillman <sthillma@cisco.com> Depends-On: I02dda0685c7df9013693db5eeacb2f47745d05b5 Depends-On: I3f14cdce9b9bf278aa9b107b2d313e1e82a20709 Change-Id: Idf23ed11a53509c00aa5fea4c87a515f42ad744f
2015-09-28Merge "Adding core_plugin, type_drivers and service_plugins parameters"Jenkins7-8/+171
2015-09-25Adding core_plugin, type_drivers and service_plugins parametersShiva Prasad Rao7-8/+171
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 Fidente2-1/+13
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."Jenkins10-9/+9
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-22swift::storage::all deprecation cleanupDan Prince1-1/+4
This patch adds settings for swift::storage::all so that we set the recommended the incoming and outgoing chmod permissions. Depends-On: I627ab2255087b0ebc2d3ddc9cd4a7a7d254abb65 Change-Id: I2f14c9afe7b7135ad1bfecb9db0a39bfc3b4d03a
2015-09-22Rename -puppet.yaml templates.Dan Prince10-9/+9
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"Jenkins24-66/+454
2015-09-17Configure ctlplane network with a static IPDan Prince24-66/+454
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 Hardy3-144/+328
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-17Add "AllNodes" ExtraConfig interfaceSteven Hardy6-6/+244
Adds hook to enable additional "AllNodes" config to be performed prior to applying puppet - this is useful when you need to build configuration data which requires knowledge of all nodes in a cluster, or of the entire deployment. As an example, there is a sample config template which collects the hostname and mac addresses for all nodes in the deployment then writes the data to all Controller nodes. Something similar to this may be required to enable creation of the nexus_config in https://review.openstack.org/#/c/198754/ There's also another, simpler, example which shows how you could share the output of an OS::Heat::RandomString between nodes. Change-Id: I8342a238f50142d8c7426f2b96f4ef1635775509
2015-09-17Merge "Big Switch Neutron ML2 plugin integration"Jenkins5-0/+111
2015-09-17Merge "network validation to ping test each interface"Jenkins5-0/+110
2015-09-17Merge "Add YAML sanity check"Jenkins2-0/+49
2015-09-16Merge "Set pacemaker default resource-stickiness"Jenkins2-0/+4
2015-09-16Big Switch Neutron ML2 plugin integrationJiri Stransky5-0/+111
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"Jenkins5-0/+184
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 Pothier5-0/+184
This enables support for the Cisco UCS Manager and Cisco Nexus plugins Change-Id: I1bc28a4768d5d6857a0504ca1f77dd71259570b8
2015-09-15Add YAML sanity checkBen Nemec2-0/+49
Adds a "validate" tox env for basic sanity checking of templates. Currently it just validates that all of the .yaml files are in fact valid YAML. In the future we might want to add more, but this seemed like a reasonable start. Change-Id: I8091bbad0003b150e23dae5de4f465053c982229
2015-09-15Merge "switch to vxlan by default"Jenkins7-14/+14
2015-09-15Merge "Consume the NeutronMechanismDrivers from the hiera data"Jenkins2-0/+2
2015-09-11Merge "Set NetValueSpecs parameter types to Json"Jenkins5-5/+5
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-08Set NetValueSpecs parameter types to JsonDan Prince5-5/+5
The latest Heat API is a bit more strict in validating the datatypes for the OS::Neutron::Net value_specs. This patch converts the default parameter types for these from string to json. Change-Id: Iaad6ee6417d3ae55c52ffe2f4e6ed79124161923 Closes-bug: #1493502
2015-09-08Merge "Add NodeAdminUserData interface for "heat-admin" user"Jenkins7-5/+123
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