aboutsummaryrefslogtreecommitdiffstats
path: root/puppet
AgeCommit message (Collapse)AuthorFilesLines
2015-06-21Add support for isolating block storage netsDan Prince2-4/+36
This patch updates the cinder block storage role for Puppet so that it supports network isolation. This includes using the (optional) isolated networks for MySQL, Glance API, and iscsi network traffic. Change-Id: Icdfbf5fce7380e6049babca0cd50ca2e4008c1b0
2015-06-18Merge "Enable loadbalancing of the Redis VIP, defaults to False"Jenkins3-3/+8
2015-06-18Merge "Rename ServiceNetMap: NeutronLocalIp"Jenkins2-2/+2
2015-06-18Enable loadbalancing of the Redis VIP, defaults to Falsemarios3-3/+8
We have to set it to true as the default is false which means the redis vip can't be reached. This was manifested as a problem with ceilometer agent reaching the coordination url like [1]. Co-Authored-By: Giulio Fidente <gfidente@redhat.com> [1] https://bugzilla.redhat.com/attachment.cgi?id=1040023 Closes-Bug: https://bugzilla.redhat.com/show_bug.cgi?id=1232797 Change-Id: I1cd63308d0ac1d17542e1a2a909ee1a9680ed4b3
2015-06-18Bind novncproxy to its own networkBen Nemec1-0/+1
By default the nova vncproxy binds to 0.0.0.0, which will fail in a loadbalanced environment. This makes it bind to its network. Change-Id: I08776a8f6c72b63d73433b147c130fbc9a7110b0
2015-06-18Merge "Remove NO_SIGNAL from ControllerBootstrapNodeDeployment"Jenkins1-0/+1
2015-06-17Merge "Remove Redis VirtualIP from params and build it from Neutron::Port"Jenkins1-2/+4
2015-06-17Merge "Make CephStorageDeployment depend on NetworkDeployment"Jenkins1-0/+1
2015-06-17Merge "Remove NO_SIGNAL from puppet role templates"Jenkins4-6/+4
2015-06-17Merge "Adds horizon to pacemaker when puppet-pacemaker is enabled"Jenkins2-1/+13
2015-06-17Merge "Fix Redis bind setting to use redis_network"Jenkins1-1/+0
2015-06-17Merge "Allow control of hostname formatting"Jenkins5-0/+20
2015-06-17Merge "Add $hostname.localdomain alias to /etc/hosts"Jenkins5-5/+5
2015-06-17Merge "Remove unused EnablePacemaker param from templates"Jenkins1-5/+0
2015-06-17Allow control of hostname formattingSteven Hardy5-0/+20
Currently, we use the heat default server names, which results in some fairly unreadable hostnames due to the level of nesting in the templates. e.g ov-sszdbj5rdne-0-bhseh65edxv6-Controller-zoqc6tlypbdp Instead, we allow the user to specify a format string per role, defaulted to a string which formats the name e.g <stackname>-controller-<index> e.g overcloud-controller-0 Optionally additional hostname components (not replaced by heat) could be added, such that deployment time customization of hostnames via firstboot scripts (e.g cloud-init) may be possible. Should anyone wish to maintain the old heat-generated names, they can pass an empty string via these parameters, which heat will treat as if no "name" property was provided to OS::Nova::Server. Change-Id: I1730caa0c2256f970da22ab21fa3aa1549b3f90b
2015-06-16Merge "Add support for isolating swift storage nets"Jenkins1-4/+19
2015-06-15Add $hostname.localdomain alias to /etc/hostsGiulio Fidente5-5/+5
We want to make sure to be able to resolve the default domain suffix (.localdomain) appended when no domain option is passed by the dhcp server. Change-Id: I33111e91b502f57da442e5745de2217bd6d2d882
2015-06-13Remove Redis VirtualIP from params and build it from Neutron::PortGiulio Fidente1-2/+4
The redis_vip should come from a Neutron Port as its cidr depends on the Neutron Network configuration. This change adds 2 new files and modifies 1 in the network/ports directory: - noop.yaml - Passes through the ctlplane Controller IP (modified) - ctlplane_vip.yaml - Creates a new VIP on the control plane - vip.yaml - Creates a VIP on the named network (for isolated nets) Also, changes to overcloud-without-mergepy.yaml create the Redis Virtual IP. The standard resource registry was modified to use noop.yaml for the new Redis VIP. The Puppet resource registry was modified to use ctlplane_vip.yaml by default, but can be made to use vip.yaml when network isolation is used by using an environment file. vip.yaml will place the VIP according to the ServiceNetMap, which can also be overridden. We use this new VIP port definition to assign a VIP to Redis, but follow-up patches will assign VIPs to the rest of the services in a similar fashion. Co-Authored-By: Dan Sneddon <dsneddon@redhat.com> Change-Id: I2cb44ea7a057c4064d0e1999702623618ee3390c
2015-06-12Fix Redis bind setting to use redis_networkGiulio Fidente1-1/+0
The Redis bind host should be set from [1] template. 1. https://github.com/openstack/tripleo-heat-templates/blob/master/puppet/controller-puppet.yaml#L985 Change-Id: I8713db1a7ad739692817921248edcc6b0e819ade
2015-06-12Adds horizon to pacemaker when puppet-pacemaker is enabledmarios2-1/+13
Adds the horizon (httpd) service as pacemaker resource Also adds a default for the horizon::django_session_engine [1] which was previously unconfigured. Also adds a server-status.conf for httpd/pacemaker [2] [1] https://docs.djangoproject.com/en/dev/topics/http/sessions/#using-cached-sessions [2] https://github.com/beekhof/osp-ha-deploy/blob/master/pcmk/horizon.scenario#L72 Change-Id: I320837dfecf3241355e8a3345d0ff271592da491
2015-06-10Rename ServiceNetMap: NeutronLocalIpDan Prince2-2/+2
This patch renames the NeutronLocalIp option to be called NeutronTenantNetwork. This is more consistent with all of the other ServiceNetMap settings which end in 'Network' and initial end user feedback found the old name a bit cryptic as well. This is the network for neutron tenant traffic so lets just name it that. Change-Id: Id49afe75c372887453413c092190a5775aa3e1ee
2015-06-10Isolate network traffic for Nova VNC proxyDan Prince1-2/+2
This patch makes it possible to configure the isolated network for the Nova vnc proxy client. Change-Id: I462dfaea94e5fe9cb260ba91a42433a250f07984
2015-06-10Add support for isolating swift storage netsDan Prince1-4/+19
This patch updates the Puppet Swift storage role so that it supports network isolation. By default all traffic still flows on the ctlplane network but if network isolation is enabled then network traffic will flow over the configured storage_mgmt network interface. This patch also fixes a few critical issues with the swift storage role that prevented it from working: - oac_data for the swift devices was overriding the data provided in the swift_devices_and_proxy hieradata file. - the role was missing declarations to load hieradata files for swift_devices_and_proxy and all_nodes - The required snmpd settings were not getting set correctly in the 'object' hiera data file. With all of these changes the Swift storage role works correctly with and without network isolation. Change-Id: I541abb2604380f603bba91ad88e54783ee450a8f
2015-06-09Merge "Enable use of coordination_url in ceilometer"Jenkins1-0/+1
2015-06-09Merge "Add Redis as a Pacemaker resource"Jenkins2-17/+49
2015-06-08Merge "Enable NetApp Backends in Cinder"Jenkins3-2/+41
2015-06-08Config & deployments to update overcloud packagesSteve Baker5-0/+90
This change adds config and deployment resources to trigger package updates on nodes. The deployments are triggered by doing a stack-update and setting one of the parameters to a unique value. The intent is that rolling update will be controlled by setting breakpoints on all of the UpdateDeployment resources inside the role resource groups. Change-Id: I56bbf944ecd6cbdbf116021b8a53f9f9111c134f
2015-06-05Update mongodb implementation to reflect masterYanis Guenane1-13/+5
Two PR have been merged upstream that let use improve our current implementation : * service_manage[1] * conn string has namevar[2] [1] https://github.com/puppetlabs/puppetlabs-mongodb/pull/198 [2] https://github.com/puppetlabs/puppetlabs-mongodb/pull/200 Change-Id: Ia2247348a9e0292b5fcbc65ea1e41e6bc7c477fa
2015-06-05Enable use of coordination_url in ceilometerYanis Guenane1-0/+1
Since t-h-t can now deploy a Redis cluster, we can rely on it as the tooz backend for high availability. Change-Id: If045a273388aa2e725b6de624e09aa9c85248cc4
2015-06-05Add Redis as a Pacemaker resourceYanis Guenane2-17/+49
Change-Id: I731b408f24da01c1bc897bfffe8fd4d5638932ed
2015-06-05Merge "Fix list of type_drivers for ML2 plugin"Jenkins4-3/+5
2015-06-05Merge "Wire Neutron VLAN ranges param as array to puppet"Jenkins2-5/+19
2015-06-05Enable NetApp Backends in CinderRyan Hefner3-2/+41
Enables support for configuring Cinder with a NetApp backend. This change adds all relevant parameters for: - Clustered Data ONTAP (NFS, iSCSI, FC) - Data ONTAP 7-Mode (NFS, iSCSI, FC) - E-Series (iSCSI) Change-Id: If6c6e511ef2d26c4794e3b37c61e5318485ff4db
2015-06-05Fix list of type_drivers for ML2 pluginGiulio Fidente4-3/+5
The list of drivers loaded by the ML2 plugin does not have to match the list of tenant_network_types, this will make ML2 load the flat, gre, vxlan and vlan drivers so that the provider networks can be of flat (default) and vlan type as well. Change-Id: I0b74f86acf5c1ff644deb46c0a1d14129c1882d4
2015-06-05Wire Neutron VLAN ranges param as array to puppetGiulio Fidente2-5/+19
Turns NeutronNetworkVLANRanges into a list and makes it consumable by neutron::plugins::ml2::network_vlan_ranges as an array. Previously usage of vlans was impossible due to puppet-neutron failing to join() network_vlan_ranges. Also fixes wiring of network_vlan_ranges on computes and adds a sample environment file to test use of vlans for tenant networks. Change-Id: I8725cdb9591dd8d0b7125fdacbefdc9138703266
2015-06-04Isolate the Ceph storage and storage_mgmt netsDan Prince2-2/+31
This patch updates the Ceph configuration for the puppet implementation so that it isolates the Ceph traffic for the public and cluster interfaces. By default public traffic runs on the "storage" network and the cluster traffic runs on the "storage mgmt" network. If network isolation is not enabled then the default ctlplane address's will be used for both the public and cluster interfaces. Change-Id: I791244d72c8f42142d9de99e0cf0acdca19e62b0
2015-06-04configure pacemaker VIPs for isolated networksDan Prince1-0/+27
This patch updates the overcloud pacemaker role manifest so that it optionally configures VIPs on isolated networks if they are enabled. Change-Id: I6123ee622abe4d8d7b5f76cf9bac43acd80c1f64
2015-06-04Set glance_api_servers for cinderDan Prince1-0/+1
This patch updates the hiera configuration for the Cinder API so that we set glance_api_servers. By default Cinder constructs a glance URL based on $my_ip (the local IP of the machine) which may not be correct if you are running Glance on a non-default internal network. By setting glance_api_servers to the same thing we already use for Nova we make Cinder contact the correct Glance URL regardless of the network settings. Change-Id: I1c56eb585ddfdc9989a8b55bc1bac819802f7794
2015-06-04puppet controller role: per service VIP settingsDan Prince4-55/+59
This patch refactors the puppet controller role so that it makes use of per service VIP settings for each service. Previously the VIP for the ctlplane was hard wired to many of the controller service. With this patch we have the ability to isolate traffic for services which made use of the ctlplane and public VIPs for their settings. The implementation includes: * stops the use of the VirtualIP and PublicVirtualIP within the controller role. These parameters have now been replaced with per service heat parameters for the controller nested stack which are determined via VipMap based on per service settings in the heat environment. * All VIP configuration is now moved into puppet/vip-config.yaml. This made sense so we could deprecate the use of the VirtualIP and PublicVirtualIP settings above. * The puppet manifests for the controller were cleaned up for several to use Hiera directly instead of constructing URLs based on the static controller and public network VIPs. This improvement was something we wanted to do anyways and made the implementation cleaner. Change-Id: I9b9a15be67f74bec97366408f7047acfd6ea0ec6
2015-06-04Merge "Add virtual IPs for split out networks"Jenkins1-0/+38
2015-06-04Merge "Combine Heat API networks into single net"Jenkins1-4/+2
2015-06-04Merge "Make all-nodes Ip networks configurable"Jenkins3-17/+167
2015-06-04Merge "Set VXLAN tunnels range to match GRE range"Jenkins3-4/+5
2015-06-03Set VXLAN tunnels range to match GRE rangeGiulio Fidente3-4/+5
Change-Id: I16d259055fe4cd22541cd7abd7a26c71bbbaf292
2015-06-03Remove NO_SIGNAL from ControllerBootstrapNodeDeploymentSteven Hardy1-0/+1
We need to be sure the boostrap node data has been propagated to the cluster before proceeding with configuration, because ControllerNodesPostDeployment consumes the data put in place by this and depends_on for serialization, which is essentially meaningless when combined with NO_SIGNAL. Change-Id: I73a1e5a2cda4c79f457bfbd9ce2836dc5c1902cc
2015-06-03Make CephStorageDeployment depend on NetworkDeploymentGiulio Fidente1-0/+1
Change-Id: I5b6454d0e09eba79fc0376e963fd0e4c64105081
2015-06-03Remove NO_SIGNAL from puppet role templatesSteven Hardy4-6/+4
Currently we use NO_SIGNAL on both the NetworkConfig and subsequent config deploying the data associated with the role. This means there is a risk that should the NetworkConfig do anything interruptive (os-net-config can do interface renaming based on discovery data for example) the role configuration config could fail, and we'd never know until some later error occurs. Additionally, we need to be sure that the heiradata deployed by each of the role specicific configs is actually in-place before proceeding with any of the cluster configuration - atm this works due to the inherent delays involved deploying to bare-metal, but there's still a theoretical race if very fast deployment backends (I'm thinking containers, e.g lxc backend to nova or something) were used instead. Essentially, we should never be using NO_SIGNAL unless we want to ignore failure, which AFAICT is not the case in this instance. Change-Id: I0dbbcc87fb8df8e6bc4775c39fa616b0d0713464
2015-06-03Add virtual IPs for split out networksDan Prince1-0/+38
This patch adds VIPs for the internal_api, storage, and storage management networks. For puppet these are persisted into a local vip-config hieradata file which is then used by puppet-tripleo's loadbalancer module to apply per-service VIP settings. Change-Id: I909c3bdc9d17a8e15351f4797287769e3f76c849
2015-06-03Combine Heat API networks into single netDan Prince1-4/+2
We probably don't need to split out separate networks for Heat CFN and Cloudwatch. Just having a single network for Heat API in the overcloud is probably fine. Change-Id: I917b314e01227af72129645c9b72ad8e54f07865
2015-06-03Make all-nodes Ip networks configurableDan Prince3-17/+167
This patch adds a new NetIpListMap abstraction which we can use to make the all-nodes-config IP list network assignments configurable. Ip address lists for all overcloud services which require IPs were added to all-nodes-config so that puppet manifests can be directly supplied the correct network list for each service. Change-Id: I209f2b4f97a4bb78648c54813dad8615770bcf1a