12 Commits

Author SHA1 Message Date
Jenkins
2da6d7f1c2 Merge "Add support for node groups in NetConfigDataLookup" 2017-02-23 03:51:37 +00:00
Michael Henkel
da91bb6e1e Re-organizes Contrail services to the correct roles
In current setup some Contrail services belong to the wrong roles.
The Contrail control plane can be impacted if the Analytics database has
problems.

Change-Id: I0d57a2324c38b5b20cc687c6217a7a364941f7e6
Depends-On: Id0dd35b95c5fe9d0fcc1e16c4b7d6cc601f10818
Closes-Bug: #1659560
2017-02-08 20:25:41 +01:00
Steven Hardy
724ba3a32f Add example showing how to set root password via cloud-init
There have been some requests to enable this, and although it's not
something we should enable by default, this shows how you can use
the generic NodeUserData interface to have cloud-init do it.

To use this you create an environment file like:

resource_registry:
  OS::TripleO::NodeUserData: path/to/userdata_root_password.yaml
parameter_defaults:
  NodeRootPassword: insecure_changeme

Obviously this isn't that secure, and thus isn't intended for
production environments, but it may be useful for debugging and
as a further example showing how to configure things via cloud-init.

Change-Id: If87a1e1dbfaf31b84cc0667c9a60bbd3c757d8cd
2017-01-04 18:07:13 +00:00
Steven Hardy
3c6ec654b4 Bump template version for all templates to "ocata"
Heat now supports release name aliases, so we can replace
the inconsistent mix of date related versions with one consistent
version that aligns with the supported version of heat for this
t-h-t branch.

This should also help new users who sometimes copy/paste old templates
and discover intrinsic functions in the t-h-t docs don't work because
their template version is too old.

Change-Id: Ib415e7290fea27447460baa280291492df197e54
2016-12-23 11:43:39 +00:00
Harald Jensas
ed2ed55ffb Add support for node groups in NetConfigDataLookup
By using DMI String as identifier, such as 'system-product-name'
or 'system-version' add support for node groups. This allow the
use of a single entry in 'NetConfigDataLookup' to match a group
of systems of the same model, vendor etc.

Try to match on ethernet mac address first, then if no match is
found 'dmiString' and 'id' is used, if the keys are set.

Example:

  NetConfigDataLookup:
    node1:
      nic1: "00:c8:7c:e6:f0:2e"
    node2:
      nic1: "00:18:7d:99:0c:b6"
    node3:
      dmiString: 'system-version'
      id: 'ThinkPad T460p'
      nic1: enp0s31f6
    # Dell PowerEdge R630 - nodegroup
    nodegroup1:
      dmiString: "system-product-name"
      id: "PowerEdge R630"
      nic1: em3
      nic2: em1
      nic3: em2
    # Cisco UCS B200-M4 - nodegroup
    nodegroup2:
      dmiString: "system-product-name"
      id: "UCSB-B200-M4"
      nic1: enp7s0
      nic2: enp6s0

Change-Id: Ie2547cd8805c57ed9afe7362eada802580ffc215
2016-12-05 00:11:24 +01:00
Harald Jensas
06d4d088ad No longer hard coding to a specifc network interface name.
Instead of using a specific network interface name, thi fix
fetch all ethernet mac addresses. Then uses this list of
mac addresses to do a check if any entries in the list
match any of the values in NetConfigDataLookup for a node.
If there is a match, the /etc/os-net-config/mapping.yaml
file for the node will be written.

This fix removes the hard coded interface name 'eth0' used
to get a mac address as identifyer for the specific node
before. Using a hard coded interface name such as 'eth0'
would have failed on most hardware because of "consistent
network device names".

    Fix Bug: #1642551

Change-Id: I6c1d1b4d70b916bc5d9049469df8221f8ab2eb95
2016-11-17 23:34:43 +01:00
Steven Hardy
b4bfc17728 Add an optional extra node admin ssh key parameter
This can be used to pass the e.g. the tripleo-validations ssh key into
the deployment.

Change-Id: I861b9e2252a9c8122dcf7df261386f1ea5200c4f
Related-Bug: #1635226
2016-11-07 12:19:14 +01:00
Steven Hardy
8a0f5efc1a Add example of creating per-node os-net-config mappings
Adds an example of proving a mapping file for all nodes, then
extracting the data for each node based on a lookup of the mac address.

Some assumptions are made (e.g the hard-coded reference to eth0), but
it should be easily modified to suit specific environments.

Usage via an enviroment file will look like:

resource_registry:
  OS::TripleO::NodeUserData: os-net-config-mappings.yaml
parameter_defaults:
  NetConfigDataLookup:
    host1:
      nic1: "00:c8:7c:e6:f0:2e"
    host2:
      nic1: "00:18:7d:99:0c:b6"

Note this version requires liberty heat in the undercloud due to the
use of a new str_replace feature to serialize the json parameter.

Change-Id: I7da9c9d8805e676a383e888a7d77f05d3432ab12
2016-07-01 14:34:39 +01:00
Swapnil Kulkarni (coolsvap)
b49a96da29 Update typos
Change-Id: Id63c1bcfc34058eb7285698ba9bf86d1cf2025a6
2015-11-24 19:20:35 +05:30
Steven Hardy
d578cf1ac0 Add NodeAdminUserData interface for "heat-admin" user
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-03 13:56:16 +01:00
Jiri Stransky
91e80992d4 Firstboot rsync for development purposes
Could be used to e.g. make changes to the puppet modules on the fly
without the need to rebuild images. Documented in the template
description.

Change-Id: I6a1fef20d4f4afa4bedac5ea520949697793f0ed
2015-05-04 15:47:58 +02:00
Steven Hardy
723db1317c Enable passing optional first-boot user-data
Currently all the OS::Nova::Server resource created don't pass any
user-data.  It's possible to pass user-data as well as using heat
SoftwareConfig/SoftwareDeployment resources, and this can be useful
when you have simple "first boot" tasks which are possible either via
cloud-init, or via simple run-once scripts.

This enables passing such data by implementing a new provider resource
OS::TripleO::NodeUserData, which defaults to passing an empty mime
archive (thus it's a no-op).  An example of non no-op usage is also
provided.

Change-Id: Id0caba69768630e3a10439ba1fc2547a609c0cfe
2015-04-24 10:18:31 +01:00