Add tests for tasks ensurability

Change-Id: I102ff02542ede7ebf7de86b22aa8964b50a9eb60
Implements: blueprint test-granular-task-ensurability
This commit is contained in:
Dmitriy Kruglov 2016-04-25 09:17:18 +00:00
parent c9e6490bf2
commit d82fee7e9e
30 changed files with 3600 additions and 65 deletions

View File

@ -361,6 +361,11 @@ Test task idempotency
.. automodule:: fuelweb_test.tests.tests_lcm.test_idempotency
:members:
Test task ensurability
----------------------
.. automodule:: fuelweb_test.tests.tests_lcm.test_ensurability
:members:
Gating tests
============

View File

@ -2777,6 +2777,50 @@ class FuelWebClient29(object):
self.assert_task_success(latest_task, interval=interval,
timeout=timeout)
def deploy_cluster_changes_wait(
self, cluster_id, data=None,
timeout=help_data.DEPLOYMENT_TIMEOUT,
interval=30):
"""Redeploy cluster to apply changes in its settings
:param cluster_id: int, env ID to apply changes for
:param data: dict, changed env settings
:param timeout: int, time (in seconds) to wait for deployment end
:param interval: int, time (in seconds) between deployment
status queries
:return:
"""
logger.info('Re-deploy cluster {} to apply the changed '
'settings'.format(cluster_id))
if data is None:
data = {}
task = self.client.redeploy_cluster_changes(cluster_id, data)
self.assert_task_success(task, interval=interval, timeout=timeout)
def execute_task_on_node(self, task_name, node_id,
cluster_id, force_exc=False):
"""Execute deployment task against the corresponding node
:param task_name: str, name of a task to execute
:param node_id: int, node ID to execute task on
:param cluster_id: int, cluster ID
:param force_exc: bool, indication whether exceptions on task
execution are ignored
:return: None
"""
try:
logger.info("Trying to execute {!r} task on node {!r}"
.format(task_name, node_id))
task = self.client.put_deployment_tasks_for_cluster(
cluster_id=cluster_id,
data=[task_name],
node_id=node_id)
self.assert_task_success(task, timeout=30 * 60)
except (AssertionError, TimeoutError):
logger.exception("Failed to run task {!r}".format(task_name))
if force_exc:
raise
class FuelWebClient30(FuelWebClient29):
"""FuelWebClient that works with fuel-devops 3.0

View File

@ -675,7 +675,7 @@ class NailgunClient(object):
:param node_id: an integer number of node id.
:return: a decoded JSON response.
"""
url = '/api/v1/nodes/{}/attributes/'.format(node_id)
url = '/api/nodes/{}/attributes/'.format(node_id)
return self.client.put(url, data=attributes)
@logwrap
@ -686,7 +686,7 @@ class NailgunClient(object):
:param node_id: an integer number of node id.
:return: a decoded JSON response.
"""
url = '/api/v1/nodes/{}/attributes/'.format(node_id)
url = '/api/nodes/{}/attributes/'.format(node_id)
return self.client.get(url)
@logwrap
@ -701,3 +701,18 @@ class NailgunClient(object):
url = '/api/transactions/{task_id}/deployment_history'.format(
task_id=task_id)
return self.client.get(url)
@logwrap
@json_parse
def redeploy_cluster_changes(self, cluster_id, data=None):
"""Deploy the changes of cluster settings
:param cluster_id: int, target cluster ID
:param data: dict, updated cluster attributes (if empty, the already
uploaded attributes will be (re)applied)
:return: a decoded JSON response
"""
if data is None:
data = {}
return self.client.put(
"/api/clusters/{}/changes/redeploy".format(cluster_id), data)

View File

@ -15,7 +15,6 @@
import fileinput
import os
from devops.helpers.helpers import TimeoutError
from proboscis import asserts
from proboscis import test
import yaml
@ -45,13 +44,18 @@ TASKS_BLACKLIST = [
"reboot_provisioned_nodes",
"hiera",
"configure_default_route",
"netconfig"]
"netconfig",
"upload_provision_data"]
SETTINGS_SKIPLIST = (
"dns_list",
"ntp_list",
"repo_setup"
)
class DeprecatedFixture(Exception):
def __init__(self):
msg = ('Please update fixtires in the fuel-qa repo with '
'according to generated fixtures')
def __init__(self, msg):
super(DeprecatedFixture, self).__init__(msg)
@ -63,6 +67,15 @@ class LCMTestBasic(TestBasic):
yaml.add_multi_constructor(u"!ruby/object:", construct_ruby_object)
yaml.add_constructor(u"!ruby/sym", construct_ruby_sym)
@staticmethod
def node_roles(node):
"""Compose a string that represents all roles assigned to given node
:param node: dict, node data
:return: str
"""
return "_".join(sorted(node["roles"]))
# FIXME: after implementation of the main functional of PROD-2510
@staticmethod
def get_nodes_tasks(node_id):
@ -129,16 +142,19 @@ class LCMTestBasic(TestBasic):
return data
@staticmethod
def load_fixture(deployment_type, role):
def load_fixture(deployment_type, role, idmp=True):
"""Load fixture for corresponding kind of deployment
:param deployment_type: a string, name of the deployment kind
:param role: a string, node role
:param idmp: bool, indicates whether idempotency or ensurability
fixture is loaded
:return: a dictionary with loaded fixture data
"""
subdir = "" if idmp else "ensurability"
fixture_path = os.path.join(
os.path.dirname(__file__), "fixtures",
deployment_type, "{}.yaml".format(role))
deployment_type, subdir, "{}.yaml".format(role))
with open(fixture_path) as f:
fixture = yaml.load(f)
@ -194,12 +210,14 @@ class LCMTestBasic(TestBasic):
return extra_actual_tasks, extra_fixture_tasks, wrong_types
def check_extra_tasks(self, slave_nodes, deployment):
def check_extra_tasks(self, slave_nodes, deployment, idmp=True):
"""Check existing extra tasks regarding to fixture and actual task
or tasks with a wrong type
:param slave_nodes: a list of nailgun nodes
:param deployment: a string, name of the deployment kind
:param idmp: bool, indicates whether idempotency or ensurability
fixture is checked
:return: a list with nodes for which extra tasks regarding to fixture
and actual task or tasks with a wrong type were found
"""
@ -208,9 +226,9 @@ class LCMTestBasic(TestBasic):
'wrong_types': {},
'failed_tasks': {}}
for node in slave_nodes:
node_roles = "_".join(sorted(node["roles"]))
node_roles = self.node_roles(node)
node_ref = "{}_{}".format(node["id"], node_roles)
fixture = self.load_fixture(deployment, node_roles)
fixture = self.load_fixture(deployment, node_roles, idmp)
node_tasks = self.get_nodes_tasks(node["id"])
extra_actual_tasks, extra_fixture_tasks, wrong_types = \
self.get_fixture_relevance(node_tasks, fixture)
@ -230,26 +248,6 @@ class LCMTestBasic(TestBasic):
if failed_tasks]
return failed_nodes
def execute_task_on_node(self, task, node, cluster_id):
"""Execute deployment task against the corresponding node
:param task: a string of task name
:param node: a dictionary with node description
:param cluster_id: an integer, number of cluster id
:return: None
"""
try:
logger.info("Trying to execute {!r} task on node {!r}"
.format(task, node['id']))
tsk = self.fuel_web.client.put_deployment_tasks_for_cluster(
cluster_id=cluster_id,
data=[task],
node_id=node['id'])
self.fuel_web.assert_task_success(tsk, timeout=30 * 60)
except (AssertionError, TimeoutError) as e:
logger.exception("Failed to run task {!r}\n"
"Exception:\n{}".format(task, e))
def generate_fixture(self, node_refs, cluster_id, slave_nodes):
"""Generate fixture with description of task idempotency
@ -260,7 +258,7 @@ class LCMTestBasic(TestBasic):
"""
result = {}
for node in slave_nodes:
node_roles = "_".join(sorted(node["roles"]))
node_roles = self.node_roles(node)
node_ref = "{}_{}".format(node["id"], node_roles)
if node_ref not in node_refs:
logger.debug('Node {!r} was skipped because the current '
@ -279,7 +277,8 @@ class LCMTestBasic(TestBasic):
tasks.append({task: {"type": task_type}})
continue
self.execute_task_on_node(task, node, cluster_id)
self.fuel_web.execute_task_on_node(task, node["id"],
cluster_id)
try:
report = self.get_puppet_report(node)
@ -327,6 +326,207 @@ class LCMTestBasic(TestBasic):
logger.info("Generated fixture:\n{}"
.format(yaml.dump(result, default_flow_style=False)))
@staticmethod
def _parse_settings(settings):
"""Select only values and their types from settings
:param settings: dict, (env or node) settings
:return: dict, settings in short format
"""
parsed = {}
for group in settings:
if group in SETTINGS_SKIPLIST:
continue
parsed[group] = {}
for attr, params in settings[group].items():
if attr in SETTINGS_SKIPLIST:
continue
try:
parsed[group][attr] = {
'value': params['value'],
'type': params['type']
}
except KeyError:
logger.debug("Do not include {} setting as it doesn't "
"have value".format(params['label']))
if not parsed[group]:
logger.debug("Do not include {} group as it doesn't have "
"settings with values".format(group))
del parsed[group]
return parsed
@staticmethod
def _get_settings_difference(settings1, settings2):
"""Select values and/or groups of set1 that are not present in set2
:param settings1: dict, group of dicts
:param settings2: dict, group of dicts
:return: dict, set1 items not present in set2
"""
diff = {}
new_groups = set(settings1) - set(settings2)
if new_groups:
diff.update([(g, settings1[g]) for g in new_groups])
for group in settings1:
if group in new_groups:
continue
new_params = set(settings1[group]) - set(settings2[group])
if new_params:
diff[group] = {}
diff[group].update(
[(s, settings1[group][s]) for s in new_params])
return diff
def _cmp_settings(self, settings, fixtures):
"""Compare current and stored settings
Return values and/or groups of settings that are new, comparing to
what is stored in fixtures.
Return values and/or groups of settings in fixtures that are outdated,
comparing to what is available in the cluster under test.
:param settings: dict, current settings in short format
:param fixtures: dict, stored settings in short format
:return: tuple, (new settings, outdated settings) pair
"""
new_s = self._get_settings_difference(settings, fixtures)
outdated_f = self._get_settings_difference(fixtures, settings)
return new_s, outdated_f
def get_cluster_settings(self, cluster_id):
"""Get cluster settings and return them in short format
:param cluster_id: int, ID of the cluster under test
:return: dict, cluster settings in short format
"""
settings = self.fuel_web.client.get_cluster_attributes(
cluster_id)['editable']
return self._parse_settings(settings)
def get_nodes_settings(self, cluster_id):
"""Get node settings and return them in short format
:param cluster_id: int, ID of the cluster under test
:return: dict, node settings in short format
"""
nodes = self.fuel_web.client.list_cluster_nodes(cluster_id)
node_settings = {}
for node in nodes:
node_attrs = self.fuel_web.client.get_node_attributes(node['id'])
roles = self.node_roles(node)
node_settings[roles] = self._parse_settings(node_attrs)
return node_settings
@staticmethod
def load_settings_fixtures(deployment):
"""Load stored settings for the given cluster configuration
:param deployment: str, name of cluster configuration
(e.g. 1_ctrl_1_cmp_1_cinder)
:return: tuple, (cluster, nodes) pair of stored settings
"""
f_path = os.path.join(os.path.dirname(__file__), "fixtures",
deployment, "ensurability", "{}")
with open(f_path.format("cluster_settings.yaml")) as f:
cluster_fixture = yaml.load(f)
with open(f_path.format("nodes_settings.yaml")) as f:
nodes_fixture = yaml.load(f)
return cluster_fixture, nodes_fixture
def check_cluster_settings_consistency(self, settings, fixtures):
"""Check if stored cluster settings require update
:param settings: dict, settings of the cluster under test
:param fixtures: dict, stored cluster settings
:return: tuple, (new settings, outdated settings) pair; this indicates
whether fixtures require update
"""
return self._cmp_settings(settings, fixtures)
def check_nodes_settings_consistency(self, settings, fixtures):
"""Check if stored node settings require update
:param settings: dict, node settings of the cluster under test
:param fixtures: dict, stored node settings
:return: tuple, (new settings, outdated settings) pair; this indicates
whether fixtures require update
"""
new_settings = {}
outdated_fixtures = {}
for node in fixtures:
new_s, outdated_f = self._cmp_settings(
settings[node], fixtures[node])
if new_s:
new_settings[node] = new_s
if outdated_f:
outdated_fixtures[node] = outdated_f
return new_settings, outdated_fixtures
def check_settings_consistency(self, deployment, cluster_id):
"""Check if settings fixtures are up to date.
:param cluster_id: int, env under test
:param deployment: str, name of env configuration under test
:return: None
"""
cluster_f, nodes_f = self.load_settings_fixtures(deployment)
cluster_s = self.get_cluster_settings(cluster_id)
nodes_s = self.get_nodes_settings(cluster_id)
consistency = {}
new_cluster_s, old_cluster_f = \
self.check_cluster_settings_consistency(cluster_s, cluster_f)
new_nodes_s, old_nodes_f = \
self.check_nodes_settings_consistency(nodes_s, nodes_f)
consistency["fixtures"] = {
'old_cluster_fixtures': old_cluster_f,
'old_nodes_fixtures': old_nodes_f
}
consistency["settings"] = {
'new_cluster_settings': new_cluster_s,
'new_nodes_settings': new_nodes_s
}
nonconsistent = False
if new_cluster_s or new_nodes_s.values():
logger.info(
"Settings fixtures require update as new options are "
"available now for configuring an environment\n{}".format(
yaml.safe_dump(consistency["settings"],
default_flow_style=False))
)
nonconsistent = True
if old_cluster_f or old_nodes_f.values():
logger.info(
"Settings fixtures require update as some options are no "
"longer available for configuring an environment\n{}".format(
yaml.safe_dump(consistency["fixtures"],
default_flow_style=False))
)
nonconsistent = True
if nonconsistent:
self.generate_settings_fixture(cluster_id)
msg = ('Please update setting fixtures in the repo '
'according to generated data')
raise DeprecatedFixture(msg)
def generate_settings_fixture(self, cluster_id):
"""Get environment and nodes settings, and print them to console.
:return: None
"""
cluster_s = self.get_cluster_settings(cluster_id)
nodes_s = self.get_nodes_settings(cluster_id)
logger.info("Generated environment settings fixture:\n{}".format(
yaml.safe_dump(cluster_s, default_flow_style=False)))
logger.info("Generated nodes settings fixture:\n{}".format(
yaml.safe_dump(nodes_s, default_flow_style=False)))
@test(groups=['deploy_lcm_environment'])
class SetupLCMEnvironment(LCMTestBasic):
@ -384,7 +584,9 @@ class SetupLCMEnvironment(LCMTestBasic):
if node_refs:
self.show_step(8)
self.generate_fixture(node_refs, cluster_id, slave_nodes)
raise DeprecatedFixture
msg = ('Please update idempotency fixtures in the repo '
'according to generated fixtures')
raise DeprecatedFixture(msg)
self.env.make_snapshot(snapshotname, is_make=True)
@test(depends_on=[SetupEnvironment.prepare_slaves_3],
@ -442,7 +644,9 @@ class SetupLCMEnvironment(LCMTestBasic):
if node_refs:
self.show_step(8)
self.generate_fixture(node_refs, cluster_id, slave_nodes)
raise DeprecatedFixture
msg = ('Please update idempotency fixtures in the repo '
'according to generated fixtures')
raise DeprecatedFixture(msg)
self.env.make_snapshot(snapshotname, is_make=True)
@test(depends_on=[SetupEnvironment.prepare_slaves_5],
@ -505,5 +709,7 @@ class SetupLCMEnvironment(LCMTestBasic):
if node_refs:
self.show_step(8)
self.generate_fixture(node_refs, cluster_id, slave_nodes)
raise DeprecatedFixture
msg = ('Please update idempotency fixtures in the repo '
'according to generated fixtures')
raise DeprecatedFixture(msg)
self.env.make_snapshot(snapshotname, is_make=True)

View File

@ -3,7 +3,7 @@ roles:
tasks:
- update_hosts: null
- clear_nodes_info:
type: shell
type: skipped
- copy_keys_ceph:
type: copy_files
- globals: null
@ -22,8 +22,6 @@ tasks:
- dns-client: null
- allocate_hugepages: null
- plugins_setup_repositories: null
- upload_provision_data:
type: false
- ssl-keys-saving: null
- upload_configuration:
type: upload_file

View File

@ -6,7 +6,7 @@ tasks:
type: skipped
- openstack-network-common-config: null
- clear_nodes_info:
type: shell
type: skipped
- openstack-network-agents-sriov: null
- copy_keys_ceph:
type: copy_files
@ -29,8 +29,6 @@ tasks:
- openstack-network-plugins-l2: null
- allocate_hugepages: null
- plugins_setup_repositories: null
- upload_provision_data:
type: false
- ceph-compute:
no_puppet_run: true
- ssl-keys-saving: null

View File

@ -137,7 +137,7 @@ tasks:
- openstack-network-start:
type: skipped
- clear_nodes_info:
type: shell
type: skipped
- murano-db:
no_puppet_run: true
- copy_keys_ceph:
@ -157,8 +157,6 @@ tasks:
- enable_quorum:
type: shell
- openstack-haproxy-nova: null
- upload_provision_data:
type: false
- openstack-network-server-config: null
- primary-database:
skip:

View File

@ -0,0 +1,63 @@
tasks:
- update_hosts:
resources: []
- clear_nodes_info:
type: skipped
- copy_keys_ceph:
type: copy_files
- globals:
resources: []
- fuel_pkgs:
resources: []
- tools:
resources: []
- enable_cinder_volume_service:
resources: []
- rsync_core_puppet:
type: sync
- cgroups:
resources: []
- upload_nodes_info:
type: skipped
- copy_keys:
type: copy_files
- override_configuration:
resources: []
- setup_repositories:
resources: []
- dns-client:
resources: []
- allocate_hugepages:
resources: []
- plugins_setup_repositories:
no_puppet_run: true
- ssl-keys-saving:
no_puppet_run: true
- upload_configuration:
type: upload_file
- firewall:
resources: []
- top-role-cinder:
resources:
- Service[cinder-volume]
- logging:
resources: []
- sync_time:
type: shell
- plugins_rsync:
resources:
- Exec[sync_time_shell]
- connectivity_tests:
resources: []
- configuration_symlink:
type: shell
- hosts:
resources: []
- copy_haproxy_keys:
type: copy_files
- ntp-client:
resources: []
- ssl-add-trust-chain:
no_puppet_run: true
- reserved_ports:
resources: []

View File

@ -0,0 +1,427 @@
access:
email:
type: text
value: admin_upd@localhost
password:
type: password
value: admin
tenant:
type: text
value: admin
user:
type: text
value: admin
additional_components:
ceilometer:
type: checkbox
value: false
heat:
type: hidden
value: false
ironic:
type: checkbox
value: false
mongo:
type: checkbox
value: false
murano:
type: checkbox
value: false
murano-cfapi:
type: checkbox
value: false
murano_glance_artifacts_plugin:
type: checkbox
value: false
sahara:
type: checkbox
value: false
common:
auth_key:
type: hidden
value: ''
auto_assign_floating_ip:
type: checkbox
value: true
debug:
type: checkbox
value: false
libvirt_type:
type: radio
value: qemu
nova_quota:
type: checkbox
value: true
propagate_task_deploy:
type: hidden
value: false
puppet_debug:
type: checkbox
value: false
resume_guests_state_on_host_boot:
type: checkbox
value: false
task_deploy:
type: hidden
value: true
use_cow_images:
type: checkbox
value: true
use_vcenter:
type: hidden
value: false
corosync:
group:
type: text
value: 226.94.1.1
port:
type: text
value: '12000'
verified:
type: checkbox
value: false
external_mongo:
hosts_ip:
type: text
value: ''
mongo_db_name:
type: text
value: ceilometer
mongo_password:
type: password
value: ceilometer
mongo_replset:
type: text
value: ''
mongo_user:
type: text
value: ceilometer
kernel_params:
kernel:
type: text
value: console=tty0 net.ifnames=0 biosdevname=0 rootdelay=90 nomodeset
murano_settings:
murano_repo_url:
type: text
value: http://storage.apps.openstack.org/
neutron_advanced_configuration:
neutron_dvr:
type: checkbox
value: false
neutron_l2_pop:
type: checkbox
value: false
neutron_l3_ha:
type: checkbox
value: false
neutron_qos:
type: checkbox
value: false
operator_user:
authkeys:
type: textarea
value: ''
homedir:
type: text
value: /home/fueladmin
name:
type: text
value: fueladmin
password:
type: password
value: xalFdhQSGrB7xgdPrPiM3vZm
sudo:
type: textarea
value: 'ALL=(ALL) NOPASSWD: ALL'
provision:
method:
type: hidden
value: image
packages:
type: textarea
value: 'acl
anacron
bash-completion
bridge-utils
bsdmainutils
build-essential
cloud-init
curl
daemonize
debconf-utils
gdisk
grub-pc
hpsa-dkms
hwloc
i40e-dkms
linux-firmware
linux-firmware-nonfree
linux-headers-generic-lts-trusty
linux-image-generic-lts-trusty
lvm2
mcollective
mdadm
multipath-tools
multipath-tools-boot
nailgun-agent
nailgun-mcagents
network-checker
ntp
openssh-client
openssh-server
puppet
python-amqp
ruby-augeas
ruby-ipaddress
ruby-json
ruby-netaddr
ruby-openstack
ruby-shadow
ruby-stomp
telnet
ubuntu-minimal
ubuntu-standard
uuid-runtime
vim
virt-what
vlan
'
public_network_assignment:
assign_to_all_nodes:
type: checkbox
value: false
public_ssl:
cert_data:
type: file
value:
content: '-----BEGIN CERTIFICATE-----
MIIC7TCCAdUCAgPoMA0GCSqGSIb3DQEBBQUAMDwxHjAcBgNVBAsMFU1pcmFudGlz
IEZ1ZWwtUUEgVGVhbTEaMBgGA1UEAwwRcHVibGljLmZ1ZWwubG9jYWwwHhcNMTYw
NDE5MTkxMTU1WhcNMjYwNDE3MTkxMTU1WjA8MR4wHAYDVQQLDBVNaXJhbnRpcyBG
dWVsLVFBIFRlYW0xGjAYBgNVBAMMEXB1YmxpYy5mdWVsLmxvY2FsMIIBIjANBgkq
hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAoZBouZH+0S1jPYy+FxvNAkdGxsNVzsOI
g7OybWx+DIskdRvONwrCFFtvP2InKJowPCebGcCqDqGF2zgFLmA9yQN/05A9f8bX
hFrtjfNb/YYJxDE4itSYNgSzSfnitii7AJme9UBw94s0p3749irGTB++ZhcPzwdg
Nx0Ymk2uFFNU18YxSx8PAk2w73a36t61E0P++MT6sYIM1GAx+9pm9Ddrj5r0b/M7
ikHGIUuB7M6t3mNHUveld+ZyXjaONMHZI5WQ16AMZwtHunUu/42k+o6RSS4h+zT8
ZiWW5cxZVLn6xqJkDkXMDdsS7PrveSuODq3LuaG4fwRpf1u2hqvyuwIDAQABMA0G
CSqGSIb3DQEBBQUAA4IBAQBfAjtVxKItKMFAQl/EufHjk4rBpRiaHGLH2CIJHWJ1
i+z7gI5XazzwMCprOxsCUrJUpr8ChobenyebNPJSnDI0R0z8ZTX6kTNk7A2ZFVrp
lL5TlpwhdtUjWxF3Coi+w694MbyLmJ4pA6QZTYVqSilZZ1cncLNA+Fc97STfLukK
wqjwCYovRVjUn4jLRjy2kcw89060xxZopVpkY9cPfg0P+PICo/eS4EunQ5rd/EDV
7DBfCbzthArBjF8/72J8PYhqwEc+i5PDkn2CNIXoT0coxC9YAHJ+zFHgxHnKa0/q
TPlvi+wJKrrSnXb5Oc34tVOxDF/WQjNuve8vHg7hvaIM
-----END CERTIFICATE-----
-----BEGIN PRIVATE KEY-----
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQChkGi5kf7RLWM9
jL4XG80CR0bGw1XOw4iDs7JtbH4MiyR1G843CsIUW28/YicomjA8J5sZwKoOoYXb
OAUuYD3JA3/TkD1/xteEWu2N81v9hgnEMTiK1Jg2BLNJ+eK2KLsAmZ71QHD3izSn
fvj2KsZMH75mFw/PB2A3HRiaTa4UU1TXxjFLHw8CTbDvdrfq3rUTQ/74xPqxggzU
YDH72mb0N2uPmvRv8zuKQcYhS4Hszq3eY0dS96V35nJeNo40wdkjlZDXoAxnC0e6
dS7/jaT6jpFJLiH7NPxmJZblzFlUufrGomQORcwN2xLs+u95K44Orcu5obh/BGl/
W7aGq/K7AgMBAAECggEAI6RyFg5JQuhabmewP/TYI1qKGKtbMMQeR7/K6yz2GdpQ
bq11rtrmugr53efPb7ukTIEITIQegB/OIfCX5AVDXCczef7mMlwxi3dr1NcNQj7h
xLB/ItGHytL6oqVICJuvtZAuaziOM244bYMrdVM2b/DI1kjcKfYcmcwHc3MTplPq
Nh+L5u2ue6bYvT+XRF4KrwuKmKuyJghyMeoiLI9JupkKw79ZB/l0Mh8vmxKMPj8g
MNxoJbwoTkjQxuJELmet+ysBg2KT+gJEirfRmZiouDxx8Zukd8O6YvnlsOiRFokX
05r33fna1z5IBpGnwe+rn6pQaeXflSd6dqotoBp4QQKBgQDLrhAdsZnDXDpYuOv+
ITMpc33J4NW7yE+26ebzWkLYRUW5i7YDCtJdFi5pHCeA3+QD3RlYiinQlzcy3i3R
4Uv4riuKyDbgaw9sYOhmgluhPKDuznEWXomloEVu8jFrHg3TKY2v/GCcv99N5grQ
Jg9rScFpZXkTj23KzqHf23uTEQKBgQDLENH7QzoNsBv6eS7kElBx3BQWNa0dhXab
kRXo62/++tIDGMkzaq38hsjcAZi8uZDZY0QJTmBMdZN3LLBln5C2g8Y6Eym5ITvf
pxkMUK0++MygbK/Vwmp+xu7XMiPNMG/E8NqQkca3F/6Ld08PAauZ8gpgoAsnjlNg
pPUdWRCRCwKBgEiEB17bDXidjHRsGjFXVqTKZp2Ke+4oaiEgc8Zue2AOgb2GvV2l
67GSpSFtEa9zhvXNMSnxvuNyAwgMTFnuEaNPN1do4wjRdSNL+VIN1Vu5fz6mp2Kk
c/NQ9YeDmQ6fG6Lzp2thum/0bCeK4IytEE5NaxwAMbRCG3/aQ4200fFRAoGAMwg5
HSIZ9tKpVVsbE6oemV6rlaFLrj2aPyJJFU4FyViTar/R4KAQtYPR+qhUECm6Y0d1
E7mkrdJmiu6qLf/ZyGR5bqLeO25Es8I0o0mrIEY6dp6Z2eiQBuhLob0yDiD8FcxJ
wUdBX0YibD5Bmg3baEbRoNLXussj3QfXqdZ2OV0CgYEAyovcXc1ibwrwNO59yw99
7zCoMFjXzZgtxn5JQDwMsdt9UKd/4nOPbbiRPL3ynr5zboDZzRxihXB5zzKjrYlE
o4QZIWV0VgGS2eQSni3CGOsG4VhE4/9EFF7UqeA0hYkGAZMS+EKSdPpIujStD/ck
sQ/BZiYxMSE8+synlzp3gss=
-----END PRIVATE KEY-----
'
name: ca.pem
cert_source:
type: radio
value: user_uploaded
horizon:
type: checkbox
value: false
hostname:
type: text
value: public.fuel.local
services:
type: checkbox
value: false
service_user:
homedir:
type: hidden
value: /var/lib/fuel
name:
type: hidden
value: fuel
password:
type: hidden
value: WEwz5aKA0hYDrcERjX7irQzS
root_password:
type: hidden
value: r00tme
sudo:
type: hidden
value: 'ALL=(ALL) NOPASSWD: ALL'
storage:
admin_key:
type: hidden
value: AQDzghZXAAAAABAA7obspvgNjPa/HBWSOUzI1w==
bootstrap_osd_key:
type: hidden
value: AQDzghZXAAAAABAAWaiWslWwse+hsaKLzbtQFw==
ephemeral_ceph:
type: checkbox
value: false
fsid:
type: hidden
value: 4b0ab6f5-b82b-44e4-ac3a-15c76f960b82
images_ceph:
type: checkbox
value: false
images_vcenter:
type: checkbox
value: false
mon_key:
type: hidden
value: AQDzghZXAAAAABAAVi1udBHvkQbZbDgNnT7gXA==
objects_ceph:
type: checkbox
value: false
osd_pool_size:
type: text
value: '3'
radosgw_key:
type: hidden
value: AQDzghZXAAAAABAA8jY8KftsCK4l726rNdu/Zg==
volumes_block_device:
type: checkbox
value: true
volumes_ceph:
type: checkbox
value: false
volumes_lvm:
type: checkbox
value: false
syslog:
syslog_port:
type: text
value: '514'
syslog_server:
type: text
value: ''
syslog_transport:
type: radio
value: tcp
workloads_collector:
enabled:
type: hidden
value: false
password:
type: password
value: 8qtWdXhhY84wFoxwBbZcpq3P
tenant:
type: text
value: services
user:
type: text
value: fuel_stats_user

View File

@ -0,0 +1,89 @@
tasks:
- update_hosts:
resources: []
- openstack-network-start:
type: skipped
- openstack-network-common-config:
resources: []
- clear_nodes_info:
type: skipped
- openstack-network-agents-sriov:
resources: []
- copy_keys_ceph:
type: copy_files
- globals:
resources: []
- fuel_pkgs:
resources: []
- openstack-network-agents-l3:
resources: []
- openstack-network-agents-metadata:
resources: []
- tools:
resources: []
- rsync_core_puppet:
type: sync
- enable_nova_compute_service:
resources: []
- cgroups:
resources: []
- upload_nodes_info:
type: skipped
- copy_keys:
type: copy_files
- override_configuration:
resources: []
- setup_repositories:
resources: []
- dns-client:
resources: []
- openstack-network-plugins-l2:
resources: []
- allocate_hugepages:
resources: []
- plugins_setup_repositories:
no_puppet_run: true
- ceph-compute:
no_puppet_run: true
- ssl-keys-saving:
no_puppet_run: true
- sriov_iommu_check:
resources:
- Exec[sriov_iommu_check]
- openstack-network-end:
type: skipped
- ceilometer-compute:
no_puppet_run: true
- upload_configuration:
type: upload_file
- firewall:
resources: []
- logging:
resources: []
- top-role-compute:
resources:
- Notify[Module openstack_tasks cannot notify service nova-compute on packages
update]
- Nova_config[DEFAULT/resume_guests_state_on_host_boot]
- Nova_config[vnc/novncproxy_base_url]
- Service[nova-compute]
- sync_time:
type: shell
- openstack-network-compute-nova:
resources: []
- plugins_rsync:
no_puppet_run: true
- connectivity_tests:
resources: []
- configuration_symlink:
type: shell
- hosts:
resources: []
- copy_haproxy_keys:
type: copy_files
- ntp-client:
resources: []
- ssl-add-trust-chain:
no_puppet_run: true
- reserved_ports:
resources: []

View File

@ -0,0 +1,326 @@
tasks:
- ironic_post_swift_key:
type: shell
- openstack-haproxy-mysqld:
resources: []
- cinder-db:
resources: []
- dump_rabbitmq_definitions:
resources: []
- rsync_core_puppet:
type: sync
- ssl-dns-setup:
resources:
- Exec[rsync_core_puppet_shell]
- ceilometer-controller:
no_puppet_run: true
- override_configuration:
resources: []
- ceilometer-keystone:
no_puppet_run: true
- nova-db:
resources: []
- workloads_collector_add:
resources: []
- primary-openstack-network-plugins-l2:
resources: []
- radosgw-keystone:
resources: []
- virtual_ips:
resources: []
- primary-dns-server:
resources: []
- openstack-haproxy-murano:
resources: []
- openstack-network-end:
type: skipped
- openstack-haproxy-radosgw:
resources: []
- openstack-haproxy-swift:
resources: []
- heat-db:
resources: []
- openstack-haproxy-neutron:
resources: []
- updatedb:
no_puppet_run: true
- ironic-db:
no_puppet_run: true
- plugins_rsync:
no_puppet_run: true
- ceilometer-radosgw-user:
no_puppet_run: true
- openstack-haproxy-keystone:
resources: []
- hosts:
resources: []
- primary-rabbitmq:
resources: []
- primary-cluster-haproxy:
resources: []
- openstack-network-routers:
resources: []
- reserved_ports:
resources: []
- controller_remaining_tasks:
resources: []
- glance-keystone:
resources: []
- openstack-haproxy-aodh:
resources: []
- murano-cfapi:
no_puppet_run: true
- vmware-vcenter:
no_puppet_run: true
- ironic-compute:
no_puppet_run: true
- primary-openstack-network-agents-metadata:
resources: []
- cinder-keystone:
resources: []
- copy_keys:
type: copy_files
- enable_rados:
no_puppet_run: true
- ntp-check:
resources: []
- aodh-db:
no_puppet_run: true
- disable_keystone_service_token:
resources: []
- umm:
resources: []
- memcached:
resources: []
- allocate_hugepages:
resources: []
- openrc-delete:
resources:
- File[/root/openrc]
- plugins_setup_repositories:
no_puppet_run: true
- sahara-keystone:
no_puppet_run: true
- openstack-haproxy-sahara:
resources: []
- ssl-keys-saving:
no_puppet_run: true
- primary-cluster:
resources: []
- upload_cirros:
type: shell
- primary-keystone:
resources:
- File[/root/openrc]
- primary-openstack-network-agents-l3:
resources: []
- upload_configuration:
type: upload_file
- create-cinder-types:
resources: []
- neutron-keystone:
resources:
- Keystone_endpoint[RegionOne/neutron::network]
- logging:
resources: []
- nova-keystone:
resources:
- Keystone_endpoint[RegionOne/nova::compute]
- Keystone_endpoint[RegionOne/novav3::computev3]
- update_hosts:
resources: []
- ironic-keystone:
no_puppet_run: true
- connectivity_tests:
resources: []
- swift-storage:
resources: []
- primary-heat:
resources:
- Heat_config[keystone_authtoken/auth_uri]
- conntrackd:
resources: []
- sahara-db:
no_puppet_run: true
- horizon:
resources:
- File[/var/lib/puppet/concat/_etc_openstack-dashboard_local_settings.py/fragments/50_local_settings.py]
- File[/etc/openstack-dashboard/local_settings.py]
- Exec[concat_/etc/openstack-dashboard/local_settings.py]
- openstack-haproxy-ceilometer:
resources: []
- openstack-network-common-config:
resources: []
- firewall:
resources: []
- apache:
resources: []
- globals:
resources:
- File[/etc/hiera/globals.yaml]
- aodh-keystone:
no_puppet_run: true
- glance:
resources:
- Glance_glare_config[DEFAULT/default_log_levels]
- Glance_registry_config[DEFAULT/default_log_levels]
- Glance_api_config[DEFAULT/default_log_levels]
- Glance_cache_config[DEFAULT/debug]
- Glance_api_config[DEFAULT/debug]
- Glance_glare_config[DEFAULT/debug]
- Glance_registry_config[DEFAULT/debug]
- tools:
resources: []
- openstack-haproxy:
resources: []
- cgroups:
resources: []
- murano-cfapi-keystone:
no_puppet_run: true
- aodh:
no_puppet_run: true
- ceph_create_pools:
no_puppet_run: true
- openstack-haproxy-ironic:
no_puppet_run: true
- setup_repositories:
resources: []
- openstack-network-routers-ha:
no_puppet_run: true
- glance-db:
resources: []
- neutron-db:
resources: []
- ironic_upload_images:
type: shell
- swift-rebalance-cron:
resources: []
- primary-ceph-mon:
resources: []
- openstack-haproxy-stats:
resources: []
- ironic-api:
no_puppet_run: true
- primary-ceph-radosgw:
resources: []
- dns-client:
resources: []
- cluster-vrouter:
resources: []
- murano-rabbitmq:
no_puppet_run: true
- api-proxy:
resources: []
- cluster_health:
resources: []
- heat-keystone:
resources:
- Keystone_endpoint[RegionOne/heat-cfn::cloudformation]
- Keystone_endpoint[RegionOne/heat::orchestration]
- openstack-haproxy-horizon:
resources:
- File[/var/lib/puppet/concat/_etc_haproxy_conf.d_015-horizon.cfg/fragments/00_horizon_listen_block]
- File[/etc/haproxy/conf.d/015-horizon.cfg]
- File[/var/lib/puppet/concat/_etc_haproxy_conf.d_015-horizon.cfg/fragments/01-horizon_horizon_balancermember_horizon]
- Exec[concat_/etc/haproxy/conf.d/015-horizon.cfg]
- openstack-network-start:
type: skipped
- clear_nodes_info:
type: skipped
- murano-db:
resources:
- Exec[clear_nodes_info_shell]
- copy_keys_ceph:
type: copy_files
- sahara:
no_puppet_run: true
- fuel_pkgs:
resources: []
- swift-keystone:
resources:
- Keystone_endpoint[RegionOne/swift::object-store]
- Keystone_endpoint[RegionOne/swift_s3::s3]
- public_vip_ping:
resources: []
- upload_nodes_info:
type: skipped
- openstack-haproxy-glance:
resources:
- File[/var/lib/puppet/concat/_etc_haproxy_conf.d_080-glance-api.cfg/fragments/00_glance-api_listen_block]
- Exec[concat_/etc/haproxy/conf.d/080-glance-api.cfg]
- File[/var/lib/puppet/concat/_etc_haproxy_conf.d_081-glance-glare.cfg/fragments/00_glance-glare_listen_block]
- File[/etc/haproxy/conf.d/080-glance-api.cfg]
- Exec[concat_/etc/haproxy/conf.d/081-glance-glare.cfg]
- File[/etc/haproxy/conf.d/081-glance-glare.cfg]
- murano:
no_puppet_run: true
- ceph_ready_check:
type: shell
- enable_quorum:
type: shell
- openstack-haproxy-nova:
resources:
- File[/etc/haproxy/conf.d/040-nova-api.cfg]
- File[/etc/haproxy/conf.d/170-nova-novncproxy.cfg]
- File[/var/lib/puppet/concat/_etc_haproxy_conf.d_040-nova-api.cfg/fragments/00_nova-api_listen_block]
- Exec[concat_/etc/haproxy/conf.d/040-nova-api.cfg]
- File[/var/lib/puppet/concat/_etc_haproxy_conf.d_170-nova-novncproxy.cfg/fragments/00_nova-novncproxy_listen_block]
- Exec[concat_/etc/haproxy/conf.d/170-nova-novncproxy.cfg]
- openstack-network-server-config:
resources: []
- primary-database:
resources:
- File[/root/.my.cnf]
- vcenter_compute_zones_create:
type: shell
- openstack-haproxy-cinder:
resources:
- File[/etc/haproxy/conf.d/070-cinder-api.cfg]
- Exec[concat_/etc/haproxy/conf.d/070-cinder-api.cfg]
- File[/var/lib/puppet/concat/_etc_haproxy_conf.d_070-cinder-api.cfg/fragments/00_cinder-api_listen_block]
- ntp-server:
resources: []
- murano-keystone:
no_puppet_run: true
- primary-openstack-network-agents-dhcp:
resources:
- Neutron_dhcp_agent_config[DEFAULT/debug]
- openstack-haproxy-heat:
resources: []
- primary-openstack-controller:
resources:
- Nova_config[DEFAULT/quota_driver]
- Nova_config[DEFAULT/debug]
- Nova_config[DEFAULT/default_log_levels]
- openstack-cinder:
resources:
- Cinder_config[DEFAULT/scheduler_default_filters]
- Cinder_config[DEFAULT/default_log_levels]
- Cinder_config[DEFAULT/debug]
- keystone-db:
resources:
- File[/root/.my.cnf]
- sync_time:
type: shell
- configuration_symlink:
type: shell
- openstack-network-server-nova:
resources: []
- copy_haproxy_keys:
type: copy_files
- primary-swift-proxy:
resources:
- File[/var/lib/puppet/concat/_etc_rsyncd.conf/fragments/10_account_frag-account]
- File[/var/lib/puppet/concat/_etc_swift_proxy-server.conf/fragments/00_swift_proxy]
- File[/etc/swift/proxy-server.conf]
- File[/var/lib/puppet/concat/_etc_rsyncd.conf/fragments/10_object_frag-object]
- File[/var/lib/puppet/concat/_etc_rsyncd.conf/fragments/10_swift_server_frag-swift_server]
- Exec[concat_/etc/swift/proxy-server.conf]
- Exec[concat_/etc/rsyncd.conf]
- File[/etc/rsyncd.conf]
- File[/var/lib/puppet/concat/_etc_rsyncd.conf/fragments/10_container_frag-container]
- File[/var/lib/puppet/concat/_etc_rsyncd.conf/fragments/10_swift_backups_frag-swift_backups]
- openstack-network-networks:
resources: []
- ssl-add-trust-chain:
no_puppet_run: true

View File

@ -0,0 +1,51 @@
controller:
cpu_pinning:
dpdk:
type: number
value: 1
nova:
type: number
value: 1
hugepages:
dpdk:
type: number
value: 128
nova:
type: custom_hugepages
value:
'1048576': 1
'2048': 550
cinder:
cpu_pinning:
dpdk:
type: number
value: 1
nova:
type: number
value: 1
hugepages:
dpdk:
type: number
value: 128
nova:
type: custom_hugepages
value:
'1048576': 1
'2048': 550
compute:
cpu_pinning:
dpdk:
type: number
value: 1
nova:
type: number
value: 1
hugepages:
dpdk:
type: number
value: 128
nova:
type: custom_hugepages
value:
'1048576': 1
'2048': 550

View File

@ -6,7 +6,7 @@ tasks:
type: skipped
- openstack-network-common-config: null
- clear_nodes_info:
type: shell
type: skipped
- openstack-network-agents-sriov: null
- copy_keys_ceph:
type: copy_files
@ -30,8 +30,6 @@ tasks:
- allocate_hugepages: null
- plugins_setup_repositories:
no_puppet_run: true
- upload_provision_data:
type: false
- ceph-compute:
no_puppet_run: true
- ssl-keys-saving: null

View File

@ -132,7 +132,7 @@ tasks:
- openstack-network-start:
type: skipped
- clear_nodes_info:
type: shell
type: skipped
- murano-db:
no_puppet_run: true
- copy_keys_ceph:
@ -152,8 +152,6 @@ tasks:
- enable_quorum:
type: shell
- openstack-haproxy-nova: null
- upload_provision_data:
type: false
- openstack-network-server-config: null
- primary-database:
skip:

View File

@ -0,0 +1,427 @@
access:
email:
type: text
value: admin_upd@localhost
password:
type: password
value: admin
tenant:
type: text
value: admin
user:
type: text
value: admin
additional_components:
ceilometer:
type: checkbox
value: false
heat:
type: hidden
value: false
ironic:
type: checkbox
value: false
mongo:
type: checkbox
value: false
murano:
type: checkbox
value: false
murano-cfapi:
type: checkbox
value: false
murano_glance_artifacts_plugin:
type: checkbox
value: false
sahara:
type: checkbox
value: false
common:
auth_key:
type: hidden
value: ''
auto_assign_floating_ip:
type: checkbox
value: true
debug:
type: checkbox
value: false
libvirt_type:
type: radio
value: qemu
nova_quota:
type: checkbox
value: true
propagate_task_deploy:
type: hidden
value: false
puppet_debug:
type: checkbox
value: false
resume_guests_state_on_host_boot:
type: checkbox
value: false
task_deploy:
type: hidden
value: true
use_cow_images:
type: checkbox
value: true
use_vcenter:
type: hidden
value: false
corosync:
group:
type: text
value: 226.94.1.1
port:
type: text
value: '12000'
verified:
type: checkbox
value: false
external_mongo:
hosts_ip:
type: text
value: ''
mongo_db_name:
type: text
value: ceilometer
mongo_password:
type: password
value: ceilometer
mongo_replset:
type: text
value: ''
mongo_user:
type: text
value: ceilometer
kernel_params:
kernel:
type: text
value: console=tty0 net.ifnames=0 biosdevname=0 rootdelay=90 nomodeset
murano_settings:
murano_repo_url:
type: text
value: http://storage.apps.openstack.org/
neutron_advanced_configuration:
neutron_dvr:
type: checkbox
value: false
neutron_l2_pop:
type: checkbox
value: false
neutron_l3_ha:
type: checkbox
value: false
neutron_qos:
type: checkbox
value: false
operator_user:
authkeys:
type: textarea
value: ''
homedir:
type: text
value: /home/fueladmin
name:
type: text
value: fueladmin
password:
type: password
value: xalFdhQSGrB7xgdPrPiM3vZm
sudo:
type: textarea
value: 'ALL=(ALL) NOPASSWD: ALL'
provision:
method:
type: hidden
value: image
packages:
type: textarea
value: 'acl
anacron
bash-completion
bridge-utils
bsdmainutils
build-essential
cloud-init
curl
daemonize
debconf-utils
gdisk
grub-pc
hpsa-dkms
hwloc
i40e-dkms
linux-firmware
linux-firmware-nonfree
linux-headers-generic-lts-trusty
linux-image-generic-lts-trusty
lvm2
mcollective
mdadm
multipath-tools
multipath-tools-boot
nailgun-agent
nailgun-mcagents
network-checker
ntp
openssh-client
openssh-server
puppet
python-amqp
ruby-augeas
ruby-ipaddress
ruby-json
ruby-netaddr
ruby-openstack
ruby-shadow
ruby-stomp
telnet
ubuntu-minimal
ubuntu-standard
uuid-runtime
vim
virt-what
vlan
'
public_network_assignment:
assign_to_all_nodes:
type: checkbox
value: false
public_ssl:
cert_data:
type: file
value:
content: '-----BEGIN CERTIFICATE-----
MIIC7TCCAdUCAgPoMA0GCSqGSIb3DQEBBQUAMDwxHjAcBgNVBAsMFU1pcmFudGlz
IEZ1ZWwtUUEgVGVhbTEaMBgGA1UEAwwRcHVibGljLmZ1ZWwubG9jYWwwHhcNMTYw
NDE5MTkxMTU1WhcNMjYwNDE3MTkxMTU1WjA8MR4wHAYDVQQLDBVNaXJhbnRpcyBG
dWVsLVFBIFRlYW0xGjAYBgNVBAMMEXB1YmxpYy5mdWVsLmxvY2FsMIIBIjANBgkq
hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAoZBouZH+0S1jPYy+FxvNAkdGxsNVzsOI
g7OybWx+DIskdRvONwrCFFtvP2InKJowPCebGcCqDqGF2zgFLmA9yQN/05A9f8bX
hFrtjfNb/YYJxDE4itSYNgSzSfnitii7AJme9UBw94s0p3749irGTB++ZhcPzwdg
Nx0Ymk2uFFNU18YxSx8PAk2w73a36t61E0P++MT6sYIM1GAx+9pm9Ddrj5r0b/M7
ikHGIUuB7M6t3mNHUveld+ZyXjaONMHZI5WQ16AMZwtHunUu/42k+o6RSS4h+zT8
ZiWW5cxZVLn6xqJkDkXMDdsS7PrveSuODq3LuaG4fwRpf1u2hqvyuwIDAQABMA0G
CSqGSIb3DQEBBQUAA4IBAQBfAjtVxKItKMFAQl/EufHjk4rBpRiaHGLH2CIJHWJ1
i+z7gI5XazzwMCprOxsCUrJUpr8ChobenyebNPJSnDI0R0z8ZTX6kTNk7A2ZFVrp
lL5TlpwhdtUjWxF3Coi+w694MbyLmJ4pA6QZTYVqSilZZ1cncLNA+Fc97STfLukK
wqjwCYovRVjUn4jLRjy2kcw89060xxZopVpkY9cPfg0P+PICo/eS4EunQ5rd/EDV
7DBfCbzthArBjF8/72J8PYhqwEc+i5PDkn2CNIXoT0coxC9YAHJ+zFHgxHnKa0/q
TPlvi+wJKrrSnXb5Oc34tVOxDF/WQjNuve8vHg7hvaIM
-----END CERTIFICATE-----
-----BEGIN PRIVATE KEY-----
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQChkGi5kf7RLWM9
jL4XG80CR0bGw1XOw4iDs7JtbH4MiyR1G843CsIUW28/YicomjA8J5sZwKoOoYXb
OAUuYD3JA3/TkD1/xteEWu2N81v9hgnEMTiK1Jg2BLNJ+eK2KLsAmZ71QHD3izSn
fvj2KsZMH75mFw/PB2A3HRiaTa4UU1TXxjFLHw8CTbDvdrfq3rUTQ/74xPqxggzU
YDH72mb0N2uPmvRv8zuKQcYhS4Hszq3eY0dS96V35nJeNo40wdkjlZDXoAxnC0e6
dS7/jaT6jpFJLiH7NPxmJZblzFlUufrGomQORcwN2xLs+u95K44Orcu5obh/BGl/
W7aGq/K7AgMBAAECggEAI6RyFg5JQuhabmewP/TYI1qKGKtbMMQeR7/K6yz2GdpQ
bq11rtrmugr53efPb7ukTIEITIQegB/OIfCX5AVDXCczef7mMlwxi3dr1NcNQj7h
xLB/ItGHytL6oqVICJuvtZAuaziOM244bYMrdVM2b/DI1kjcKfYcmcwHc3MTplPq
Nh+L5u2ue6bYvT+XRF4KrwuKmKuyJghyMeoiLI9JupkKw79ZB/l0Mh8vmxKMPj8g
MNxoJbwoTkjQxuJELmet+ysBg2KT+gJEirfRmZiouDxx8Zukd8O6YvnlsOiRFokX
05r33fna1z5IBpGnwe+rn6pQaeXflSd6dqotoBp4QQKBgQDLrhAdsZnDXDpYuOv+
ITMpc33J4NW7yE+26ebzWkLYRUW5i7YDCtJdFi5pHCeA3+QD3RlYiinQlzcy3i3R
4Uv4riuKyDbgaw9sYOhmgluhPKDuznEWXomloEVu8jFrHg3TKY2v/GCcv99N5grQ
Jg9rScFpZXkTj23KzqHf23uTEQKBgQDLENH7QzoNsBv6eS7kElBx3BQWNa0dhXab
kRXo62/++tIDGMkzaq38hsjcAZi8uZDZY0QJTmBMdZN3LLBln5C2g8Y6Eym5ITvf
pxkMUK0++MygbK/Vwmp+xu7XMiPNMG/E8NqQkca3F/6Ld08PAauZ8gpgoAsnjlNg
pPUdWRCRCwKBgEiEB17bDXidjHRsGjFXVqTKZp2Ke+4oaiEgc8Zue2AOgb2GvV2l
67GSpSFtEa9zhvXNMSnxvuNyAwgMTFnuEaNPN1do4wjRdSNL+VIN1Vu5fz6mp2Kk
c/NQ9YeDmQ6fG6Lzp2thum/0bCeK4IytEE5NaxwAMbRCG3/aQ4200fFRAoGAMwg5
HSIZ9tKpVVsbE6oemV6rlaFLrj2aPyJJFU4FyViTar/R4KAQtYPR+qhUECm6Y0d1
E7mkrdJmiu6qLf/ZyGR5bqLeO25Es8I0o0mrIEY6dp6Z2eiQBuhLob0yDiD8FcxJ
wUdBX0YibD5Bmg3baEbRoNLXussj3QfXqdZ2OV0CgYEAyovcXc1ibwrwNO59yw99
7zCoMFjXzZgtxn5JQDwMsdt9UKd/4nOPbbiRPL3ynr5zboDZzRxihXB5zzKjrYlE
o4QZIWV0VgGS2eQSni3CGOsG4VhE4/9EFF7UqeA0hYkGAZMS+EKSdPpIujStD/ck
sQ/BZiYxMSE8+synlzp3gss=
-----END PRIVATE KEY-----
'
name: ca.pem
cert_source:
type: radio
value: user_uploaded
horizon:
type: checkbox
value: false
hostname:
type: text
value: public.fuel.local
services:
type: checkbox
value: false
service_user:
homedir:
type: hidden
value: /var/lib/fuel
name:
type: hidden
value: fuel
password:
type: hidden
value: WEwz5aKA0hYDrcERjX7irQzS
root_password:
type: hidden
value: r00tme
sudo:
type: hidden
value: 'ALL=(ALL) NOPASSWD: ALL'
storage:
admin_key:
type: hidden
value: AQDzghZXAAAAABAA7obspvgNjPa/HBWSOUzI1w==
bootstrap_osd_key:
type: hidden
value: AQDzghZXAAAAABAAWaiWslWwse+hsaKLzbtQFw==
ephemeral_ceph:
type: checkbox
value: false
fsid:
type: hidden
value: 4b0ab6f5-b82b-44e4-ac3a-15c76f960b82
images_ceph:
type: checkbox
value: false
images_vcenter:
type: checkbox
value: false
mon_key:
type: hidden
value: AQDzghZXAAAAABAAVi1udBHvkQbZbDgNnT7gXA==
objects_ceph:
type: checkbox
value: false
osd_pool_size:
type: text
value: '3'
radosgw_key:
type: hidden
value: AQDzghZXAAAAABAA8jY8KftsCK4l726rNdu/Zg==
volumes_block_device:
type: checkbox
value: true
volumes_ceph:
type: checkbox
value: false
volumes_lvm:
type: checkbox
value: false
syslog:
syslog_port:
type: text
value: '514'
syslog_server:
type: text
value: ''
syslog_transport:
type: radio
value: tcp
workloads_collector:
enabled:
type: hidden
value: false
password:
type: password
value: 8qtWdXhhY84wFoxwBbZcpq3P
tenant:
type: text
value: services
user:
type: text
value: fuel_stats_user

View File

@ -0,0 +1,89 @@
tasks:
- update_hosts:
resources: []
- openstack-network-start:
type: skipped
- openstack-network-common-config:
resources: []
- clear_nodes_info:
type: skipped
- openstack-network-agents-sriov:
resources: []
- copy_keys_ceph:
type: copy_files
- globals:
resources: []
- fuel_pkgs:
resources: []
- openstack-network-agents-l3:
resources: []
- openstack-network-agents-metadata:
resources: []
- tools:
resources: []
- rsync_core_puppet:
type: sync
- enable_nova_compute_service:
resources: []
- cgroups:
resources: []
- upload_nodes_info:
type: skipped
- copy_keys:
type: copy_files
- override_configuration:
resources: []
- setup_repositories:
resources: []
- dns-client:
resources: []
- openstack-network-plugins-l2:
resources: []
- allocate_hugepages:
resources: []
- plugins_setup_repositories:
no_puppet_run: true
- ceph-compute:
no_puppet_run: true
- ssl-keys-saving:
no_puppet_run: true
- sriov_iommu_check:
resources:
- Exec[sriov_iommu_check]
- openstack-network-end:
type: skipped
- ceilometer-compute:
no_puppet_run: true
- upload_configuration:
type: upload_file
- firewall:
resources: []
- logging:
resources: []
- top-role-compute:
resources:
- Notify[Module openstack_tasks cannot notify service nova-compute on packages
update]
- Nova_config[DEFAULT/resume_guests_state_on_host_boot]
- Nova_config[vnc/novncproxy_base_url]
- Service[nova-compute]
- sync_time:
type: shell
- openstack-network-compute-nova:
resources: []
- plugins_rsync:
no_puppet_run: true
- connectivity_tests:
resources: []
- configuration_symlink:
type: shell
- hosts:
resources: []
- copy_haproxy_keys:
type: copy_files
- ntp-client:
resources: []
- ssl-add-trust-chain:
no_puppet_run: true
- reserved_ports:
resources: []

View File

@ -0,0 +1,336 @@
tasks:
- ironic_post_swift_key:
type: shell
- openstack-haproxy-mysqld:
resources: []
- cinder-db:
resources: []
- dump_rabbitmq_definitions:
resources: []
- rsync_core_puppet:
type: sync
- ssl-dns-setup:
resources:
- Exec[rsync_core_puppet_shell]
- ceilometer-controller:
no_puppet_run: true
- override_configuration:
resources: []
- ceilometer-keystone:
no_puppet_run: true
- nova-db:
resources: []
- workloads_collector_add:
resources: []
- primary-openstack-network-plugins-l2:
resources: []
- radosgw-keystone:
resources: []
- virtual_ips:
resources: []
- primary-dns-server:
resources: []
- openstack-haproxy-murano:
resources: []
- openstack-network-end:
type: skipped
- openstack-haproxy-radosgw:
resources: []
- openstack-haproxy-swift:
resources: []
- heat-db:
resources: []
- openstack-haproxy-neutron:
resources: []
- updatedb:
no_puppet_run: true
- ironic-db:
no_puppet_run: true
- plugins_rsync:
no_puppet_run: true
- ceilometer-radosgw-user:
no_puppet_run: true
- openstack-haproxy-keystone:
resources: []
- hosts:
resources: []
- primary-rabbitmq:
resources: []
- primary-cluster-haproxy:
resources: []
- openstack-network-routers:
resources: []
- reserved_ports:
resources: []
- controller_remaining_tasks:
resources: []
- glance-keystone:
resources: []
- openstack-haproxy-aodh:
resources: []
- murano-cfapi:
no_puppet_run: true
- vmware-vcenter:
no_puppet_run: true
- ironic-compute:
no_puppet_run: true
- primary-openstack-network-agents-metadata:
resources: []
- cinder-keystone:
resources: []
- copy_keys:
type: copy_files
- enable_rados:
no_puppet_run: true
- ntp-check:
resources: []
- aodh-db:
no_puppet_run: true
- disable_keystone_service_token:
resources: []
- umm:
resources: []
- memcached:
resources: []
- allocate_hugepages:
resources: []
- openrc-delete:
resources:
- File[/root/openrc]
- plugins_setup_repositories:
no_puppet_run: true
- sahara-keystone:
no_puppet_run: true
- openstack-haproxy-sahara:
resources: []
- ssl-keys-saving:
no_puppet_run: true
- primary-cluster:
resources: []
- upload_cirros:
type: shell
- primary-keystone:
resources:
- File[/root/openrc]
- primary-openstack-network-agents-l3:
resources: []
- upload_configuration:
type: upload_file
- create-cinder-types:
resources: []
- neutron-keystone:
resources:
- Keystone_endpoint[RegionOne/neutron::network]
- logging:
resources: []
- nova-keystone:
resources:
- Keystone_endpoint[RegionOne/nova::compute]
- Keystone_endpoint[RegionOne/novav3::computev3]
- update_hosts:
resources: []
- ironic-keystone:
no_puppet_run: true
- connectivity_tests:
resources: []
- swift-storage:
resources: []
- primary-heat:
resources:
- Heat_config[keystone_authtoken/auth_uri]
- conntrackd:
resources: []
- sahara-db:
no_puppet_run: true
- horizon:
resources:
- File[/var/lib/puppet/concat/_etc_openstack-dashboard_local_settings.py/fragments/50_local_settings.py]
- File[/etc/openstack-dashboard/local_settings.py]
- Exec[concat_/etc/openstack-dashboard/local_settings.py]
- openstack-haproxy-ceilometer:
resources:
- Exec[concat_/etc/haproxy/conf.d/140-ceilometer.cfg]
- File[/var/lib/puppet/concat/_etc_haproxy_conf.d_140-ceilometer.cfg/fragments/00_ceilometer_listen_block]
- File[/etc/haproxy/conf.d/140-ceilometer.cfg]
- openstack-network-common-config:
resources:
- Neutron_config[DEFAULT/service_plugins]
- firewall:
resources: []
- apache:
resources: []
- globals:
resources:
- File[/etc/hiera/globals.yaml]
- aodh-keystone:
no_puppet_run: true
- glance:
resources:
- Glance_glare_config[DEFAULT/default_log_levels]
- Glance_registry_config[DEFAULT/default_log_levels]
- Glance_api_config[DEFAULT/notification_driver]
- Glance_api_config[DEFAULT/default_log_levels]
- Glance_cache_config[DEFAULT/debug]
- Glance_api_config[DEFAULT/debug]
- Glance_glare_config[DEFAULT/debug]
- Glance_registry_config[DEFAULT/debug]
- tools:
resources: []
- openstack-haproxy:
resources: []
- cgroups:
resources: []
- murano-cfapi-keystone:
no_puppet_run: true
- aodh:
no_puppet_run: true
- ceph_create_pools:
no_puppet_run: true
- openstack-haproxy-ironic:
no_puppet_run: true
- setup_repositories:
resources: []
- openstack-network-routers-ha:
no_puppet_run: true
- glance-db:
resources: []
- neutron-db:
resources: []
- ironic_upload_images:
type: shell
- swift-rebalance-cron:
resources: []
- primary-ceph-mon:
resources: []
- openstack-haproxy-stats:
resources: []
- ironic-api:
no_puppet_run: true
- primary-ceph-radosgw:
resources: []
- dns-client:
resources: []
- cluster-vrouter:
resources: []
- murano-rabbitmq:
no_puppet_run: true
- api-proxy:
resources: []
- cluster_health:
resources: []
- heat-keystone:
resources:
- Keystone_endpoint[RegionOne/heat-cfn::cloudformation]
- Keystone_endpoint[RegionOne/heat::orchestration]
- openstack-haproxy-horizon:
resources:
- File[/var/lib/puppet/concat/_etc_haproxy_conf.d_015-horizon.cfg/fragments/00_horizon_listen_block]
- File[/etc/haproxy/conf.d/015-horizon.cfg]
- File[/var/lib/puppet/concat/_etc_haproxy_conf.d_015-horizon.cfg/fragments/01-horizon_horizon_balancermember_horizon]
- Exec[concat_/etc/haproxy/conf.d/015-horizon.cfg]
- openstack-network-start:
type: skipped
- clear_nodes_info:
type: skipped
- murano-db:
resources:
- Exec[clear_nodes_info_shell]
- copy_keys_ceph:
type: copy_files
- sahara:
no_puppet_run: true
- fuel_pkgs:
resources: []
- swift-keystone:
resources:
- Keystone_endpoint[RegionOne/swift::object-store]
- Keystone_endpoint[RegionOne/swift_s3::s3]
- public_vip_ping:
resources: []
- upload_nodes_info:
type: skipped
- openstack-haproxy-glance:
resources:
- File[/var/lib/puppet/concat/_etc_haproxy_conf.d_080-glance-api.cfg/fragments/00_glance-api_listen_block]
- Exec[concat_/etc/haproxy/conf.d/080-glance-api.cfg]
- File[/var/lib/puppet/concat/_etc_haproxy_conf.d_081-glance-glare.cfg/fragments/00_glance-glare_listen_block]
- File[/etc/haproxy/conf.d/080-glance-api.cfg]
- Exec[concat_/etc/haproxy/conf.d/081-glance-glare.cfg]
- File[/etc/haproxy/conf.d/081-glance-glare.cfg]
- murano:
no_puppet_run: true
- ceph_ready_check:
type: shell
- enable_quorum:
type: shell
- openstack-haproxy-nova:
resources:
- File[/etc/haproxy/conf.d/040-nova-api.cfg]
- File[/etc/haproxy/conf.d/170-nova-novncproxy.cfg]
- File[/var/lib/puppet/concat/_etc_haproxy_conf.d_040-nova-api.cfg/fragments/00_nova-api_listen_block]
- Exec[concat_/etc/haproxy/conf.d/040-nova-api.cfg]
- File[/var/lib/puppet/concat/_etc_haproxy_conf.d_170-nova-novncproxy.cfg/fragments/00_nova-novncproxy_listen_block]
- Exec[concat_/etc/haproxy/conf.d/170-nova-novncproxy.cfg]
- openstack-network-server-config:
resources:
- Neutron_config[DEFAULT/router_distributed]
- Neutron_config[qos/notification_drivers]
- Neutron_plugin_ml2[ml2/mechanism_drivers]
- Neutron_plugin_ml2[ml2/extension_drivers]
- primary-database:
resources:
- File[/root/.my.cnf]
- vcenter_compute_zones_create:
type: shell
- openstack-haproxy-cinder:
resources:
- File[/etc/haproxy/conf.d/070-cinder-api.cfg]
- Exec[concat_/etc/haproxy/conf.d/070-cinder-api.cfg]
- File[/var/lib/puppet/concat/_etc_haproxy_conf.d_070-cinder-api.cfg/fragments/00_cinder-api_listen_block]
- ntp-server:
resources: []
- murano-keystone:
no_puppet_run: true
- primary-openstack-network-agents-dhcp:
resources:
- Neutron_dhcp_agent_config[DEFAULT/debug]
- openstack-haproxy-heat:
resources: []
- primary-openstack-controller:
resources:
- Nova_config[DEFAULT/quota_driver]
- Nova_config[DEFAULT/debug]
- Nova_config[DEFAULT/default_log_levels]
- openstack-cinder:
resources:
- Cinder_config[DEFAULT/scheduler_default_filters]
- Cinder_config[DEFAULT/default_log_levels]
- Cinder_config[DEFAULT/debug]
- keystone-db:
resources:
- File[/root/.my.cnf]
- sync_time:
type: shell
- configuration_symlink:
type: shell
- openstack-network-server-nova:
resources: []
- copy_haproxy_keys:
type: copy_files
- primary-swift-proxy:
resources:
- File[/var/lib/puppet/concat/_etc_rsyncd.conf/fragments/10_account_frag-account]
- File[/var/lib/puppet/concat/_etc_swift_proxy-server.conf/fragments/00_swift_proxy]
- File[/etc/swift/proxy-server.conf]
- File[/var/lib/puppet/concat/_etc_rsyncd.conf/fragments/10_object_frag-object]
- File[/var/lib/puppet/concat/_etc_rsyncd.conf/fragments/10_swift_server_frag-swift_server]
- Exec[concat_/etc/swift/proxy-server.conf]
- Exec[concat_/etc/rsyncd.conf]
- File[/etc/rsyncd.conf]
- File[/var/lib/puppet/concat/_etc_rsyncd.conf/fragments/10_container_frag-container]
- File[/var/lib/puppet/concat/_etc_rsyncd.conf/fragments/10_swift_backups_frag-swift_backups]
- File[/var/lib/puppet/concat/_etc_swift_proxy-server.conf/fragments/33_swift_ceilometer]
- openstack-network-networks:
resources: []
- ssl-add-trust-chain:
no_puppet_run: true

View File

@ -0,0 +1,60 @@
tasks:
- update_hosts:
resources: []
- clear_nodes_info:
type: skipped
- top-role-primary-mongo:
resources: []
- copy_keys_ceph:
type: copy_files
- globals:
resources: []
- fuel_pkgs:
resources: []
- tools:
resources: []
- rsync_core_puppet:
type: sync
- cgroups:
resources: []
- upload_nodes_info:
type: skipped
- copy_keys:
type: copy_files
- override_configuration:
resources: []
- setup_repositories:
resources: []
- dns-client:
resources: []
- allocate_hugepages:
resources: []
- plugins_setup_repositories:
no_puppet_run: true
- ssl-keys-saving:
no_puppet_run: true
- upload_configuration:
type: upload_file
- firewall:
resources: []
- logging:
resources: []
- sync_time:
type: shell
- plugins_rsync:
resources:
- Exec[sync_time_shell]
- connectivity_tests:
resources: []
- configuration_symlink:
type: shell
- hosts:
resources: []
- copy_haproxy_keys:
type: copy_files
- ntp-client:
resources: []
- ssl-add-trust-chain:
no_puppet_run: true
- reserved_ports:
resources: []

View File

@ -0,0 +1,51 @@
controller:
cpu_pinning:
dpdk:
type: number
value: 1
nova:
type: number
value: 1
hugepages:
dpdk:
type: number
value: 128
nova:
type: custom_hugepages
value:
'1048576': 1
'2048': 550
mongo:
cpu_pinning:
dpdk:
type: number
value: 1
nova:
type: number
value: 1
hugepages:
dpdk:
type: number
value: 128
nova:
type: custom_hugepages
value:
'1048576': 1
'2048': 550
compute:
cpu_pinning:
dpdk:
type: number
value: 1
nova:
type: number
value: 1
hugepages:
dpdk:
type: number
value: 128
nova:
type: custom_hugepages
value:
'1048576': 1
'2048': 550

View File

@ -3,7 +3,7 @@ roles:
tasks:
- update_hosts: null
- clear_nodes_info:
type: shell
type: skipped
- top-role-primary-mongo: null
- copy_keys_ceph:
type: copy_files
@ -22,8 +22,6 @@ tasks:
- dns-client: null
- allocate_hugepages: null
- plugins_setup_repositories: null
- upload_provision_data:
type: false
- ssl-keys-saving: null
- upload_configuration:
type: upload_file

View File

@ -3,7 +3,7 @@ roles:
tasks:
- update_hosts: null
- clear_nodes_info:
type: shell
type: skipped
- copy_keys_ceph:
type: copy_files
- globals: null
@ -21,8 +21,6 @@ tasks:
- dns-client: null
- allocate_hugepages: null
- plugins_setup_repositories: null
- upload_provision_data:
type: false
- ssl-keys-saving: null
- upload_configuration:
type: upload_file

View File

@ -6,7 +6,7 @@ tasks:
type: skipped
- openstack-network-common-config: null
- clear_nodes_info:
type: shell
type: skipped
- openstack-network-agents-sriov: null
- copy_keys_ceph:
type: copy_files
@ -29,8 +29,6 @@ tasks:
- openstack-network-plugins-l2: null
- allocate_hugepages: null
- plugins_setup_repositories: null
- upload_provision_data:
type: false
- ceph-compute: null
- ssl-keys-saving: null
- sriov_iommu_check: null

View File

@ -136,7 +136,7 @@ tasks:
- openstack-network-start:
type: skipped
- clear_nodes_info:
type: shell
type: skipped
- murano-db:
no_puppet_run: true
- copy_keys_ceph:
@ -157,8 +157,6 @@ tasks:
- enable_quorum:
type: shell
- openstack-haproxy-nova: null
- upload_provision_data:
type: false
- openstack-network-server-config: null
- primary-database:
skip:

View File

@ -0,0 +1,62 @@
tasks:
- update_hosts:
resources: []
- clear_nodes_info:
type: skipped
- copy_keys_ceph:
type: copy_files
- globals:
resources: []
- fuel_pkgs:
resources: []
- tools:
resources: []
- rsync_core_puppet:
type: sync
- cgroups:
resources: []
- upload_nodes_info:
type: skipped
- copy_keys:
type: copy_files
- override_configuration:
resources: []
- setup_repositories:
resources: []
- dns-client:
resources: []
- allocate_hugepages:
resources: []
- plugins_setup_repositories:
no_puppet_run: true
- ssl-keys-saving:
no_puppet_run: true
- upload_configuration:
type: upload_file
- firewall:
resources: []
- top-role-ceph-osd:
resources: []
- logging:
resources: []
- updatedb:
no_puppet_run: true
- sync_time:
type: shell
- plugins_rsync:
resources:
- Exec[sync_time_shell]
- connectivity_tests:
resources: []
- configuration_symlink:
type: shell
- hosts:
resources: []
- copy_haproxy_keys:
type: copy_files
- ntp-client:
resources: []
- ssl-add-trust-chain:
no_puppet_run: true
- reserved_ports:
resources: []

View File

@ -0,0 +1,427 @@
access:
email:
type: text
value: admin_upd@localhost
password:
type: password
value: admin
tenant:
type: text
value: admin
user:
type: text
value: admin
additional_components:
ceilometer:
type: checkbox
value: false
heat:
type: hidden
value: false
ironic:
type: checkbox
value: false
mongo:
type: checkbox
value: false
murano:
type: checkbox
value: false
murano-cfapi:
type: checkbox
value: false
murano_glance_artifacts_plugin:
type: checkbox
value: false
sahara:
type: checkbox
value: false
common:
auth_key:
type: hidden
value: ''
auto_assign_floating_ip:
type: checkbox
value: true
debug:
type: checkbox
value: false
libvirt_type:
type: radio
value: qemu
nova_quota:
type: checkbox
value: true
propagate_task_deploy:
type: hidden
value: false
puppet_debug:
type: checkbox
value: false
resume_guests_state_on_host_boot:
type: checkbox
value: false
task_deploy:
type: hidden
value: true
use_cow_images:
type: checkbox
value: true
use_vcenter:
type: hidden
value: false
corosync:
group:
type: text
value: 226.94.1.1
port:
type: text
value: '12000'
verified:
type: checkbox
value: false
external_mongo:
hosts_ip:
type: text
value: ''
mongo_db_name:
type: text
value: ceilometer
mongo_password:
type: password
value: ceilometer
mongo_replset:
type: text
value: ''
mongo_user:
type: text
value: ceilometer
kernel_params:
kernel:
type: text
value: console=tty0 net.ifnames=0 biosdevname=0 rootdelay=90 nomodeset
murano_settings:
murano_repo_url:
type: text
value: http://storage.apps.openstack.org/
neutron_advanced_configuration:
neutron_dvr:
type: checkbox
value: false
neutron_l2_pop:
type: checkbox
value: false
neutron_l3_ha:
type: checkbox
value: false
neutron_qos:
type: checkbox
value: false
operator_user:
authkeys:
type: textarea
value: ''
homedir:
type: text
value: /home/fueladmin
name:
type: text
value: fueladmin
password:
type: password
value: xalFdhQSGrB7xgdPrPiM3vZm
sudo:
type: textarea
value: 'ALL=(ALL) NOPASSWD: ALL'
provision:
method:
type: hidden
value: image
packages:
type: textarea
value: 'acl
anacron
bash-completion
bridge-utils
bsdmainutils
build-essential
cloud-init
curl
daemonize
debconf-utils
gdisk
grub-pc
hpsa-dkms
hwloc
i40e-dkms
linux-firmware
linux-firmware-nonfree
linux-headers-generic-lts-trusty
linux-image-generic-lts-trusty
lvm2
mcollective
mdadm
multipath-tools
multipath-tools-boot
nailgun-agent
nailgun-mcagents
network-checker
ntp
openssh-client
openssh-server
puppet
python-amqp
ruby-augeas
ruby-ipaddress
ruby-json
ruby-netaddr
ruby-openstack
ruby-shadow
ruby-stomp
telnet
ubuntu-minimal
ubuntu-standard
uuid-runtime
vim
virt-what
vlan
'
public_network_assignment:
assign_to_all_nodes:
type: checkbox
value: false
public_ssl:
cert_data:
type: file
value:
content: '-----BEGIN CERTIFICATE-----
MIIC7TCCAdUCAgPoMA0GCSqGSIb3DQEBBQUAMDwxHjAcBgNVBAsMFU1pcmFudGlz
IEZ1ZWwtUUEgVGVhbTEaMBgGA1UEAwwRcHVibGljLmZ1ZWwubG9jYWwwHhcNMTYw
NDE5MTkxMTU1WhcNMjYwNDE3MTkxMTU1WjA8MR4wHAYDVQQLDBVNaXJhbnRpcyBG
dWVsLVFBIFRlYW0xGjAYBgNVBAMMEXB1YmxpYy5mdWVsLmxvY2FsMIIBIjANBgkq
hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAoZBouZH+0S1jPYy+FxvNAkdGxsNVzsOI
g7OybWx+DIskdRvONwrCFFtvP2InKJowPCebGcCqDqGF2zgFLmA9yQN/05A9f8bX
hFrtjfNb/YYJxDE4itSYNgSzSfnitii7AJme9UBw94s0p3749irGTB++ZhcPzwdg
Nx0Ymk2uFFNU18YxSx8PAk2w73a36t61E0P++MT6sYIM1GAx+9pm9Ddrj5r0b/M7
ikHGIUuB7M6t3mNHUveld+ZyXjaONMHZI5WQ16AMZwtHunUu/42k+o6RSS4h+zT8
ZiWW5cxZVLn6xqJkDkXMDdsS7PrveSuODq3LuaG4fwRpf1u2hqvyuwIDAQABMA0G
CSqGSIb3DQEBBQUAA4IBAQBfAjtVxKItKMFAQl/EufHjk4rBpRiaHGLH2CIJHWJ1
i+z7gI5XazzwMCprOxsCUrJUpr8ChobenyebNPJSnDI0R0z8ZTX6kTNk7A2ZFVrp
lL5TlpwhdtUjWxF3Coi+w694MbyLmJ4pA6QZTYVqSilZZ1cncLNA+Fc97STfLukK
wqjwCYovRVjUn4jLRjy2kcw89060xxZopVpkY9cPfg0P+PICo/eS4EunQ5rd/EDV
7DBfCbzthArBjF8/72J8PYhqwEc+i5PDkn2CNIXoT0coxC9YAHJ+zFHgxHnKa0/q
TPlvi+wJKrrSnXb5Oc34tVOxDF/WQjNuve8vHg7hvaIM
-----END CERTIFICATE-----
-----BEGIN PRIVATE KEY-----
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQChkGi5kf7RLWM9
jL4XG80CR0bGw1XOw4iDs7JtbH4MiyR1G843CsIUW28/YicomjA8J5sZwKoOoYXb
OAUuYD3JA3/TkD1/xteEWu2N81v9hgnEMTiK1Jg2BLNJ+eK2KLsAmZ71QHD3izSn
fvj2KsZMH75mFw/PB2A3HRiaTa4UU1TXxjFLHw8CTbDvdrfq3rUTQ/74xPqxggzU
YDH72mb0N2uPmvRv8zuKQcYhS4Hszq3eY0dS96V35nJeNo40wdkjlZDXoAxnC0e6
dS7/jaT6jpFJLiH7NPxmJZblzFlUufrGomQORcwN2xLs+u95K44Orcu5obh/BGl/
W7aGq/K7AgMBAAECggEAI6RyFg5JQuhabmewP/TYI1qKGKtbMMQeR7/K6yz2GdpQ
bq11rtrmugr53efPb7ukTIEITIQegB/OIfCX5AVDXCczef7mMlwxi3dr1NcNQj7h
xLB/ItGHytL6oqVICJuvtZAuaziOM244bYMrdVM2b/DI1kjcKfYcmcwHc3MTplPq
Nh+L5u2ue6bYvT+XRF4KrwuKmKuyJghyMeoiLI9JupkKw79ZB/l0Mh8vmxKMPj8g
MNxoJbwoTkjQxuJELmet+ysBg2KT+gJEirfRmZiouDxx8Zukd8O6YvnlsOiRFokX
05r33fna1z5IBpGnwe+rn6pQaeXflSd6dqotoBp4QQKBgQDLrhAdsZnDXDpYuOv+
ITMpc33J4NW7yE+26ebzWkLYRUW5i7YDCtJdFi5pHCeA3+QD3RlYiinQlzcy3i3R
4Uv4riuKyDbgaw9sYOhmgluhPKDuznEWXomloEVu8jFrHg3TKY2v/GCcv99N5grQ
Jg9rScFpZXkTj23KzqHf23uTEQKBgQDLENH7QzoNsBv6eS7kElBx3BQWNa0dhXab
kRXo62/++tIDGMkzaq38hsjcAZi8uZDZY0QJTmBMdZN3LLBln5C2g8Y6Eym5ITvf
pxkMUK0++MygbK/Vwmp+xu7XMiPNMG/E8NqQkca3F/6Ld08PAauZ8gpgoAsnjlNg
pPUdWRCRCwKBgEiEB17bDXidjHRsGjFXVqTKZp2Ke+4oaiEgc8Zue2AOgb2GvV2l
67GSpSFtEa9zhvXNMSnxvuNyAwgMTFnuEaNPN1do4wjRdSNL+VIN1Vu5fz6mp2Kk
c/NQ9YeDmQ6fG6Lzp2thum/0bCeK4IytEE5NaxwAMbRCG3/aQ4200fFRAoGAMwg5
HSIZ9tKpVVsbE6oemV6rlaFLrj2aPyJJFU4FyViTar/R4KAQtYPR+qhUECm6Y0d1
E7mkrdJmiu6qLf/ZyGR5bqLeO25Es8I0o0mrIEY6dp6Z2eiQBuhLob0yDiD8FcxJ
wUdBX0YibD5Bmg3baEbRoNLXussj3QfXqdZ2OV0CgYEAyovcXc1ibwrwNO59yw99
7zCoMFjXzZgtxn5JQDwMsdt9UKd/4nOPbbiRPL3ynr5zboDZzRxihXB5zzKjrYlE
o4QZIWV0VgGS2eQSni3CGOsG4VhE4/9EFF7UqeA0hYkGAZMS+EKSdPpIujStD/ck
sQ/BZiYxMSE8+synlzp3gss=
-----END PRIVATE KEY-----
'
name: ca.pem
cert_source:
type: radio
value: user_uploaded
horizon:
type: checkbox
value: false
hostname:
type: text
value: public.fuel.local
services:
type: checkbox
value: false
service_user:
homedir:
type: hidden
value: /var/lib/fuel
name:
type: hidden
value: fuel
password:
type: hidden
value: WEwz5aKA0hYDrcERjX7irQzS
root_password:
type: hidden
value: r00tme
sudo:
type: hidden
value: 'ALL=(ALL) NOPASSWD: ALL'
storage:
admin_key:
type: hidden
value: AQDzghZXAAAAABAA7obspvgNjPa/HBWSOUzI1w==
bootstrap_osd_key:
type: hidden
value: AQDzghZXAAAAABAAWaiWslWwse+hsaKLzbtQFw==
ephemeral_ceph:
type: checkbox
value: false
fsid:
type: hidden
value: 4b0ab6f5-b82b-44e4-ac3a-15c76f960b82
images_ceph:
type: checkbox
value: false
images_vcenter:
type: checkbox
value: false
mon_key:
type: hidden
value: AQDzghZXAAAAABAAVi1udBHvkQbZbDgNnT7gXA==
objects_ceph:
type: checkbox
value: false
osd_pool_size:
type: text
value: '3'
radosgw_key:
type: hidden
value: AQDzghZXAAAAABAA8jY8KftsCK4l726rNdu/Zg==
volumes_block_device:
type: checkbox
value: true
volumes_ceph:
type: checkbox
value: false
volumes_lvm:
type: checkbox
value: true
syslog:
syslog_port:
type: text
value: '514'
syslog_server:
type: text
value: ''
syslog_transport:
type: radio
value: tcp
workloads_collector:
enabled:
type: hidden
value: false
password:
type: password
value: 8qtWdXhhY84wFoxwBbZcpq3P
tenant:
type: text
value: services
user:
type: text
value: fuel_stats_user

View File

@ -0,0 +1,89 @@
tasks:
- update_hosts:
resources: []
- openstack-network-start:
type: skipped
- openstack-network-common-config:
resources: []
- clear_nodes_info:
type: skipped
- openstack-network-agents-sriov:
resources: []
- copy_keys_ceph:
type: copy_files
- globals:
resources: []
- fuel_pkgs:
resources: []
- openstack-network-agents-l3:
resources: []
- openstack-network-agents-metadata:
resources: []
- tools:
resources: []
- rsync_core_puppet:
type: sync
- enable_nova_compute_service:
resources: []
- cgroups:
resources: []
- upload_nodes_info:
type: skipped
- copy_keys:
type: copy_files
- override_configuration:
resources: []
- setup_repositories:
resources: []
- dns-client:
resources: []
- openstack-network-plugins-l2:
resources: []
- allocate_hugepages:
resources: []
- plugins_setup_repositories:
no_puppet_run: true
- ceph-compute:
no_puppet_run: true
- ssl-keys-saving:
no_puppet_run: true
- sriov_iommu_check:
resources:
- Exec[sriov_iommu_check]
- openstack-network-end:
type: skipped
- ceilometer-compute:
no_puppet_run: true
- upload_configuration:
type: upload_file
- firewall:
resources: []
- logging:
resources: []
- top-role-compute:
resources:
- Notify[Module openstack_tasks cannot notify service nova-compute on packages
update]
- Nova_config[DEFAULT/resume_guests_state_on_host_boot]
- Nova_config[vnc/novncproxy_base_url]
- Service[nova-compute]
- sync_time:
type: shell
- openstack-network-compute-nova:
resources: []
- plugins_rsync:
no_puppet_run: true
- connectivity_tests:
resources: []
- configuration_symlink:
type: shell
- hosts:
resources: []
- copy_haproxy_keys:
type: copy_files
- ntp-client:
resources: []
- ssl-add-trust-chain:
no_puppet_run: true
- reserved_ports:
resources: []

View File

@ -0,0 +1,410 @@
tasks:
- ironic_post_swift_key:
type: shell
- openstack-haproxy-mysqld:
resources: []
- cinder-db:
resources: []
- dump_rabbitmq_definitions:
resources:
- Dump_rabbitmq_definitions[/etc/rabbitmq/definitions.full]
- rsync_core_puppet:
type: sync
- ssl-dns-setup:
resources:
- Exec[rsync_core_puppet_shell]
- ceilometer-controller:
no_puppet_run: true
- override_configuration:
resources: []
- ceilometer-keystone:
no_puppet_run: true
- nova-db:
resources: []
- workloads_collector_add:
resources: []
- primary-openstack-network-plugins-l2:
resources: []
- radosgw-keystone:
resources: []
- virtual_ips:
resources: []
- primary-dns-server:
resources: []
- openstack-haproxy-murano:
resources: []
- openstack-network-end:
type: skipped
- openstack-haproxy-radosgw:
resources: []
- openstack-haproxy-swift:
resources: []
- heat-db:
resources: []
- openstack-haproxy-neutron:
resources: []
- updatedb:
no_puppet_run: true
- ironic-db:
no_puppet_run: true
- plugins_rsync:
no_puppet_run: true
- ceilometer-radosgw-user:
no_puppet_run: true
- openstack-haproxy-keystone:
resources: []
- hosts:
resources: []
- primary-rabbitmq:
resources: []
- primary-cluster-haproxy:
resources: []
- openstack-network-routers:
resources: []
- reserved_ports:
resources: []
- controller_remaining_tasks:
resources: []
- glance-keystone:
resources: []
- openstack-haproxy-aodh:
resources: []
- murano-cfapi:
no_puppet_run: true
- vmware-vcenter:
no_puppet_run: true
- ironic-compute:
no_puppet_run: true
- primary-openstack-network-agents-metadata:
resources: []
- cinder-keystone:
resources: []
- copy_keys:
type: copy_files
- enable_rados:
no_puppet_run: true
- ntp-check:
resources: []
- aodh-db:
no_puppet_run: true
- disable_keystone_service_token:
resources: []
- umm:
resources: []
- memcached:
resources: []
- allocate_hugepages:
resources: []
- openrc-delete:
resources:
- File[/root/openrc]
- plugins_setup_repositories:
no_puppet_run: true
- sahara-keystone:
no_puppet_run: true
- openstack-haproxy-sahara:
resources: []
- ssl-keys-saving:
no_puppet_run: true
- primary-cluster:
resources: []
- upload_cirros:
type: shell
- primary-keystone:
resources:
- File[/root/openrc]
- primary-openstack-network-agents-l3:
resources: []
- upload_configuration:
type: upload_file
- create-cinder-types:
resources: []
- neutron-keystone:
resources:
- Keystone_endpoint[RegionOne/neutron::network]
- logging:
resources: []
- nova-keystone:
resources:
- Keystone_endpoint[RegionOne/nova::compute]
- Keystone_endpoint[RegionOne/novav3::computev3]
- update_hosts:
resources: []
- ironic-keystone:
no_puppet_run: true
- connectivity_tests:
resources: []
- swift-storage:
resources: []
- primary-heat:
resources:
- Heat_config[keystone_authtoken/auth_uri]
- conntrackd:
resources: []
- sahara-db:
no_puppet_run: true
- horizon:
resources:
- File[/var/lib/puppet/concat/_etc_openstack-dashboard_local_settings.py/fragments/50_local_settings.py]
- File[/etc/openstack-dashboard/local_settings.py]
- Exec[concat_/etc/openstack-dashboard/local_settings.py]
- openstack-haproxy-ceilometer:
resources: []
- openstack-network-common-config:
resources: []
- firewall:
resources: []
- apache:
resources: []
- globals:
resources:
- File[/etc/hiera/globals.yaml]
- aodh-keystone:
no_puppet_run: true
- glance:
resources:
- Glance_swift_config[ref1/user]
- Glance_glare_config[glance_store/swift_store_create_container_on_put]
- Glance_glare_config[glance_store/swift_store_config_file]
- Package[swift]
- Glance_api_config[glance_store/default_store]
- Glance_api_config[glance_store/swift_store_create_container_on_put]
- Glance_swift_config[ref1/auth_address]
- Glance_api_config[glance_store/swift_store_endpoint_type]
- Glance_glare_config[DEFAULT/default_log_levels]
- Glance_api_config[glance_store/stores]
- Glance_cache_config[DEFAULT/image_cache_max_size]
- Glance_glare_config[glance_store/default_store]
- Glance_registry_config[DEFAULT/default_log_levels]
- Glance_api_config[DEFAULT/default_log_levels]
- Glance_glare_config[glance_store/swift_store_region]
- Glance_cache_config[DEFAULT/debug]
- Glance_glare_config[glance_store/swift_store_endpoint_type]
- Glance_api_config[DEFAULT/debug]
- Glance_glare_config[DEFAULT/debug]
- Glance_api_config[glance_store/swift_store_config_file]
- Glance_api_config[DEFAULT/show_image_direct_url]
- Glance_glare_config[glance_store/stores]
- Glance_api_config[glance_store/default_swift_reference]
- Glance_glare_config[glance_store/swift_store_large_object_size]
- Glance_registry_config[DEFAULT/debug]
- Glance_api_config[glance_store/swift_store_large_object_size]
- Glance_glare_config[glance_store/default_swift_reference]
- Glance_swift_config[ref1/key]
- Glance_glare_config[glance_store/swift_store_container]
- Glance_api_config[glance_store/swift_store_container]
- Glance_api_config[glance_store/swift_store_region]
- tools:
resources: []
- openstack-haproxy:
resources: []
- cgroups:
resources: []
- murano-cfapi-keystone:
no_puppet_run: true
- aodh:
no_puppet_run: true
- ceph_create_pools:
no_puppet_run: true
- openstack-haproxy-ironic:
no_puppet_run: true
- setup_repositories:
resources: []
- openstack-network-routers-ha:
no_puppet_run: true
- glance-db:
resources: []
- neutron-db:
resources: []
- ironic_upload_images:
type: shell
- swift-rebalance-cron:
resources:
- File[/usr/local/bin/swift-rings-rebalance.sh]
- Cron[swift-rings-rebalance]
- primary-ceph-mon:
resources: []
- openstack-haproxy-stats:
resources: []
- ironic-api:
no_puppet_run: true
- primary-ceph-radosgw:
resources: []
- dns-client:
resources: []
- cluster-vrouter:
resources: []
- murano-rabbitmq:
no_puppet_run: true
- api-proxy:
resources: []
- cluster_health:
resources: []
- heat-keystone:
resources:
- Keystone_endpoint[RegionOne/heat-cfn::cloudformation]
- Keystone_endpoint[RegionOne/heat::orchestration]
- openstack-haproxy-horizon:
resources:
- File[/var/lib/puppet/concat/_etc_haproxy_conf.d_015-horizon.cfg/fragments/00_horizon_listen_block]
- File[/etc/haproxy/conf.d/015-horizon.cfg]
- File[/var/lib/puppet/concat/_etc_haproxy_conf.d_015-horizon.cfg/fragments/01-horizon_horizon_balancermember_horizon]
- Exec[concat_/etc/haproxy/conf.d/015-horizon.cfg]
- openstack-network-start:
type: skipped
- clear_nodes_info:
type: skipped
- murano-db:
resources:
- Exec[clear_nodes_info_shell]
- copy_keys_ceph:
type: copy_files
- sahara:
no_puppet_run: true
- fuel_pkgs:
resources: []
- swift-keystone:
resources:
- Keystone_role[SwiftOperator]
- Keystone_user[swift]
- Keystone_endpoint[RegionOne/swift::object-store]
- Keystone_user_role[swift@services]
- Keystone_service[swift_s3::s3]
- Keystone_endpoint[RegionOne/swift_s3::s3]
- public_vip_ping:
resources: []
- upload_nodes_info:
type: skipped
- openstack-haproxy-glance:
resources:
- File[/var/lib/puppet/concat/_etc_haproxy_conf.d_080-glance-api.cfg/fragments/00_glance-api_listen_block]
- Exec[concat_/etc/haproxy/conf.d/080-glance-api.cfg]
- File[/var/lib/puppet/concat/_etc_haproxy_conf.d_081-glance-glare.cfg/fragments/00_glance-glare_listen_block]
- File[/etc/haproxy/conf.d/080-glance-api.cfg]
- Exec[concat_/etc/haproxy/conf.d/081-glance-glare.cfg]
- File[/etc/haproxy/conf.d/081-glance-glare.cfg]
- murano:
no_puppet_run: true
- ceph_ready_check:
type: shell
- enable_quorum:
type: shell
- openstack-haproxy-nova:
resources:
- File[/etc/haproxy/conf.d/040-nova-api.cfg]
- File[/etc/haproxy/conf.d/170-nova-novncproxy.cfg]
- File[/var/lib/puppet/concat/_etc_haproxy_conf.d_040-nova-api.cfg/fragments/00_nova-api_listen_block]
- Exec[concat_/etc/haproxy/conf.d/040-nova-api.cfg]
- File[/var/lib/puppet/concat/_etc_haproxy_conf.d_170-nova-novncproxy.cfg/fragments/00_nova-novncproxy_listen_block]
- Exec[concat_/etc/haproxy/conf.d/170-nova-novncproxy.cfg]
- openstack-network-server-config:
resources: []
- primary-database:
resources:
- File[/root/.my.cnf]
- vcenter_compute_zones_create:
type: shell
- openstack-haproxy-cinder:
resources:
- File[/etc/haproxy/conf.d/070-cinder-api.cfg]
- Exec[concat_/etc/haproxy/conf.d/070-cinder-api.cfg]
- File[/var/lib/puppet/concat/_etc_haproxy_conf.d_070-cinder-api.cfg/fragments/00_cinder-api_listen_block]
- ntp-server:
resources: []
- murano-keystone:
no_puppet_run: true
- primary-openstack-network-agents-dhcp:
resources:
- Neutron_dhcp_agent_config[DEFAULT/debug]
- openstack-haproxy-heat:
resources: []
- primary-openstack-controller:
resources:
- Nova_config[DEFAULT/quota_driver]
- Nova_config[DEFAULT/debug]
- Nova_config[DEFAULT/default_log_levels]
- openstack-cinder:
resources:
- Cinder_config[DEFAULT/scheduler_default_filters]
- Cinder_config[DEFAULT/default_log_levels]
- Cinder_config[DEFAULT/debug]
- keystone-db:
resources:
- File[/root/.my.cnf]
- sync_time:
type: shell
- configuration_symlink:
type: shell
- openstack-network-server-nova:
resources: []
- copy_haproxy_keys:
type: copy_files
- primary-swift-proxy:
resources:
- Swift_dispersion_config[dispersion/dispersion_coverage]
- File[/var/lib/puppet/concat/_etc_swift_proxy-server.conf/fragments/81_swift_container_quotas]
- Ring_account_device[10.109.2.2:6002/1]
- File[/var/lib/puppet/concat/_etc_rsyncd.conf]
- File[/etc/swift/dispersion.conf]
- File[/var/lib/puppet/concat/_etc_swift_proxy-server.conf/fragments/31_swift-proxy-formpost]
- Package[swift-proxy]
- Exec[create_account]
- Swift_dispersion_config[dispersion/auth_url]
- Swift_dispersion_config[dispersion/dump_json]
- Ring_container_device[10.109.2.2:6001/2]
- File[/var/lib/swift]
- File[/etc/xinetd.d/rsync]
- File[/var/lib/puppet/concat/_etc_swift_proxy-server.conf/fragments/00_swift_proxy]
- Swift_dispersion_config[dispersion/concurrency]
- File[/etc/swift/swift.conf]
- Swift_config[swift-hash/swift_hash_path_suffix]
- File[/var/lib/puppet/concat/_etc_swift_proxy-server.conf/fragments/25_swift_healthcheck]
- File[/var/lib/puppet/concat/_etc_swift_proxy-server.conf/fragments/80_swift_account_quotas]
- File[/var/lib/puppet/concat/_etc_swift_proxy-server.conf/fragments/35_swift_slo]
- Swift_dispersion_config[dispersion/retries]
- File[/var/cache/swift]
- File[/etc/swift/proxy-server.conf]
- Package[swift-plugin-s3]
- File[/var/lib/puppet/concat/_etc_rsyncd.conf/fragments/10_swift_server_frag-swift_server]
- File[/var/lib/puppet/concat/_etc_swift_proxy-server.conf/fragments/24_swift_catch_errors]
- File[/var/lib/puppet/concat/_etc_swift_proxy-server.conf/fragments/28_swift_s3token]
- File[/var/lib/puppet/concat/_etc_swift_proxy-server.conf/fragments/35_swift_crossdomain]
- File[/var/run/swift]
- File[/var/lib/puppet/concat/_etc_rsyncd.conf/fragments.concat]
- File[/var/lib/puppet/concat/_etc_swift_proxy-server.conf/fragments/29_swift-proxy-tempurl]
- File[/var/lib/puppet/concat/_etc_swift_proxy-server.conf/fragments/26_swift_ratelimit]
- Swift_dispersion_config[dispersion/auth_user]
- Swift_dispersion_config[dispersion/endpoint_type]
- Exec[create_object]
- Ring_object_device[10.109.2.2:6000/1]
- File[/var/lib/puppet/concat/_etc_swift_proxy-server.conf]
- Swift_dispersion_config[dispersion/auth_key]
- File[/var/lib/puppet/concat/_etc_swift_proxy-server.conf/fragments.concat.out]
- Exec[create_container]
- File[/var/lib/puppet/concat/_etc_swift_proxy-server.conf/fragments/23_swift_cache]
- File[/var/lib/puppet/concat/_etc_swift_proxy-server.conf/fragments/32_swift-proxy-staticweb]
- Swift_dispersion_config[dispersion/auth_version]
- Exec[concat_/etc/swift/proxy-server.conf]
- Ring_object_device[10.109.2.2:6000/2]
- Exec[concat_/etc/rsyncd.conf]
- Service[swift-proxy-server]
- Swift_dispersion_config[dispersion/swift_dir]
- File[/etc/rsyncd.conf]
- File[/var/lib/puppet/concat/_etc_swift_proxy-server.conf/fragments/79_swift_keystone]
- File[/var/lib/puppet/concat/_etc_rsyncd.conf/fragments/00_header_rsyncd_conf_header]
- File[/var/lib/puppet/concat/_etc_swift_proxy-server.conf/fragments/27_swift_swift3]
- File[/var/lib/puppet/concat/_etc_swift_proxy-server.conf/fragments.concat]
- Ring_account_device[10.109.2.2:6002/2]
- File[/var/lib/puppet/concat/_etc_rsyncd.conf/fragments]
- File[/var/lib/puppet/concat/_etc_swift_proxy-server.conf/fragments/22_swift_authtoken]
- File[/var/lib/puppet/concat/_etc_swift_proxy-server.conf/fragments]
- Ring_container_device[10.109.2.2:6001/1]
- File[/var/lib/puppet/concat/_etc_rsyncd.conf/fragments/10_swift_backups_frag-swift_backups]
- Swift_config[swift-constraints/max_header_size]
- File[/var/lib/puppet/concat/_etc_rsyncd.conf/fragments.concat.out]
- File[/etc/swift]
- File[/var/lib/puppet/concat/_etc_swift_proxy-server.conf/fragments/21_swift_bulk]
- openstack-network-networks:
resources: []
- ssl-add-trust-chain:
no_puppet_run: true

View File

@ -0,0 +1,51 @@
controller:
cpu_pinning:
dpdk:
type: number
value: 1
nova:
type: number
value: 1
hugepages:
dpdk:
type: number
value: 128
nova:
type: custom_hugepages
value:
'1048576': 1
'2048': 550
ceph-osd:
cpu_pinning:
dpdk:
type: number
value: 1
nova:
type: number
value: 1
hugepages:
dpdk:
type: number
value: 128
nova:
type: custom_hugepages
value:
'1048576': 1
'2048': 550
compute:
cpu_pinning:
dpdk:
type: number
value: 1
nova:
type: number
value: 1
hugepages:
dpdk:
type: number
value: 128
nova:
type: custom_hugepages
value:
'1048576': 1
'2048': 550

View File

@ -0,0 +1,324 @@
# Copyright 2016 Mirantis, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
import yaml
from proboscis.asserts import assert_true
from proboscis import test
from fuelweb_test.helpers.decorators import log_snapshot_after_test
from fuelweb_test.helpers.ssh_manager import SSHManager
from fuelweb_test import logger
from fuelweb_test.tests.tests_lcm.base_lcm_test import DeprecatedFixture
from fuelweb_test.tests.tests_lcm.base_lcm_test import LCMTestBasic
from fuelweb_test.tests.tests_lcm.base_lcm_test import SetupLCMEnvironment
@test(groups=['test_ensurability'])
class TaskEnsurability(LCMTestBasic):
"""Test suite for verification of deployment tasks ensurability."""
@staticmethod
def delete_astute_log():
"""Delete astute.log file(s) on master node.
This is to ensure that no unwanted tasks are used by tests (e.g. from
previous deployments).
:return: None
"""
ssh = SSHManager()
ssh.execute_on_remote(ssh.admin_ip, "rm /var/log/astute/astute*")
ssh.execute_on_remote(ssh.admin_ip, "systemctl restart astute.service")
def deploy_fixtures(self, deployment, cluster_id, slave_nodes):
"""Apply stored settings and deploy the changes
:param deployment: str, name of cluster configuration under test
:param cluster_id: int, cluster ID
:param slave_nodes: list, cluster nodes data
:return: None
"""
self.delete_astute_log()
cluster_f, nodes_f = self.load_settings_fixtures(deployment)
self.fuel_web.client.update_cluster_attributes(
cluster_id, {'editable': cluster_f})
for node in slave_nodes:
self.fuel_web.client.upload_node_attributes(
nodes_f[self.node_roles(node)], node["id"])
self.fuel_web.deploy_cluster_changes_wait(cluster_id)
def generate_tasks_fixture(self, deployment, cluster_id, slave_nodes):
"""Collect per-node fixtures for tasks executed on deploying changes
:param deployment: str, name of env configuration under test
:param cluster_id: int, cluster ID
:param slave_nodes: list, cluster nodes data
:return: None
"""
# For each node get list of tasks executed during end-to-end redeploy
tasks = {}
for node in slave_nodes:
tasks[self.node_roles(node)] = self.get_nodes_tasks(node["id"])
# Revert snapshot and collect fixtures for the executed tasks
# by running each one separately
self.env.revert_snapshot('lcm_deploy_{}'.format(deployment))
cluster_f, _ = self.load_settings_fixtures(deployment)
self.fuel_web.client.update_cluster_attributes(
cluster_id, {'editable': cluster_f})
result = {}
tasks_description = self.env.admin_actions.get_tasks_description()
for node in slave_nodes:
task_fixture = []
node_ref = self.node_roles(node)
for task in tasks[node_ref]:
self.fuel_web.execute_task_on_node(
task, node['id'], cluster_id)
task_type = self.get_task_type(tasks_description, task)
if task_type != "puppet":
logger.info(
"Executed non-puppet {0} task on node {1}; skip "
"collecting fixture for it".format(task, node['id']))
task_fixture.append({task: {"type": task_type}})
continue
try:
report = self.get_puppet_report(node)
except AssertionError:
task_fixture.append({task: {"no_puppet_run": True}})
logger.info("Unexpected no_puppet_run for task: "
"{}".format(task))
continue
# Remember resources that were changed by the task
task_resources = []
for res_name, res_stats in report['resource_statuses'].items():
if res_stats['changed']:
logger.info("Task {} changed resource(s): "
"{}".format(task, res_name))
task_resources.append(res_name)
task_fixture.append({task: {"resources": task_resources}})
logger.info("Task {} on node {} was executed "
"successfully".format(task, node['id']))
result.update({
node_ref: {
"tasks": task_fixture
}
})
logger.info("Generated tasks fixture:\n{}".format(
yaml.safe_dump(result, default_flow_style=False)))
def check_ensurability(self, deployment, cluster_id, slave_nodes):
"""Check ensurability of tasks for the given env configuration.
:param deployment: str, name of env configuration under test
:param cluster_id: int, cluster ID
:param slave_nodes: list, cluster nodes data
:return: None
"""
# Revert snapshot to run each task separately
self.env.revert_snapshot('lcm_deploy_{}'.format(deployment))
# Apply the stored settings
cluster_f, nodes_f = self.load_settings_fixtures(deployment)
for node in slave_nodes:
self.fuel_web.client.upload_node_attributes(
nodes_f[self.node_roles(node)], node["id"])
self.fuel_web.client.update_cluster_attributes(
cluster_id, {'editable': cluster_f})
result = {}
ensurable = True
for node in slave_nodes:
fixture = self.load_fixture(
deployment, self.node_roles(node), idmp=False)
nonensurable_tasks = {}
for task in fixture["tasks"]:
task_name, task_data = task.items()[0]
self.fuel_web.execute_task_on_node(
task_name, node['id'], cluster_id)
if task_data["type"] != "puppet":
logger.info(
"Executed non-puppet {0} task on node {1}; skip "
"checks for it".format(task_name, node['id']))
continue
try:
report = self.get_puppet_report(node)
except AssertionError:
if not task_data.get("no_puppet_run"):
logger.info("Unexpected no_puppet_run for task: "
"{}".format(task_name))
continue
task_resources = []
for res_name, res_stats in report['resource_statuses'].items():
if res_stats['changed']:
logger.info("Task {} changed resource: "
"{}".format(task_name, res_name))
task_resources.append(res_name)
expected_resources = task_data["resources"]
if sorted(task_resources) != sorted(expected_resources):
ensurable = False
logger.info("Task {} was executed on node {} and is not "
"ensurable".format(task_name, node['id']))
nonensurable_tasks.update({
task_name: {
"actual": task_resources,
"expected": expected_resources
}
})
else:
logger.info("Task {} on node {} was executed "
"successfully".format(task_name, node['id']))
result[self.node_roles(node)] = nonensurable_tasks
logger.info('Non-ensurable tasks:\n{}'.format(
yaml.safe_dump(result, default_flow_style=False)))
return ensurable
@test(depends_on=[SetupLCMEnvironment.lcm_deploy_1_ctrl_1_cmp_1_cinder],
groups=['ensurability_1_ctrl_1_cmp_1_cinder'])
@log_snapshot_after_test
def ensurability_1_ctrl_1_cmp_1_cinder(self):
"""Test ensurability for cluster with cinder
Scenario:
1. Revert the snapshot 'lcm_deploy_1_ctrl_1_cmp_1_cinder'
2. Check that stored setting fixtures are up to date
3. Check that stored task fixtures are up to date
4. Check ensurability of the tasks
Snapshot: "ensurability_1_ctrl_1_cmp_1_cinder"
"""
self.show_step(1)
deployment = "1_ctrl_1_cmp_1_cinder"
self.env.revert_snapshot('lcm_deploy_{}'.format(deployment))
cluster_id = self.fuel_web.get_last_created_cluster()
slave_nodes = self.fuel_web.client.list_cluster_nodes(cluster_id)
self.show_step(2)
self.check_settings_consistency(deployment, cluster_id)
self.show_step(3)
self.deploy_fixtures(deployment, cluster_id, slave_nodes)
node_refs = self.check_extra_tasks(slave_nodes, deployment, idmp=False)
if node_refs:
self.generate_tasks_fixture(deployment, cluster_id, slave_nodes)
msg = ('Please update ensurability fixtures in the repo '
'according to generated fixtures')
raise DeprecatedFixture(msg)
self.show_step(4)
assert_true(
self.check_ensurability(deployment, cluster_id, slave_nodes),
"There are not ensurable tasks. "
"Please take a look at the output above!")
self.env.make_snapshot('ensurability_{}'.format(deployment))
@test(depends_on=[SetupLCMEnvironment.lcm_deploy_1_ctrl_1_cmp_1_mongo],
groups=['ensurability_1_ctrl_1_cmp_1_mongo'])
@log_snapshot_after_test
def ensurability_1_ctrl_1_cmp_1_mongo(self):
"""Test ensurability for cluster with mongo
Scenario:
1. Revert the snapshot 'lcm_deploy_1_ctrl_1_cmp_1_mongo'
2. Check that stored setting fixtures are up to date
3. Check that stored task fixtures are up to date
4. Check ensurability of the tasks
Snapshot: "ensurability_1_ctrl_1_cmp_1_mongo"
"""
self.show_step(1)
deployment = "1_ctrl_1_cmp_1_mongo"
self.env.revert_snapshot('lcm_deploy_{}'.format(deployment))
cluster_id = self.fuel_web.get_last_created_cluster()
slave_nodes = self.fuel_web.client.list_cluster_nodes(cluster_id)
self.show_step(2)
self.check_settings_consistency(deployment, cluster_id)
self.show_step(3)
self.deploy_fixtures(deployment, cluster_id, slave_nodes)
node_refs = self.check_extra_tasks(slave_nodes, deployment, idmp=False)
if node_refs:
self.generate_tasks_fixture(deployment, cluster_id, slave_nodes)
msg = ('Please update ensurability fixtures in the repo '
'according to generated fixtures')
raise DeprecatedFixture(msg)
self.show_step(4)
assert_true(
self.check_ensurability(deployment, cluster_id, slave_nodes),
"There are not ensurable tasks. "
"Please take a look at the output above!")
self.env.make_snapshot('ensurability_{}'.format(deployment))
@test(depends_on=[SetupLCMEnvironment.lcm_deploy_1_ctrl_1_cmp_3_ceph],
groups=['ensurability_1_ctrl_1_cmp_3_ceph'])
@log_snapshot_after_test
def ensurability_1_ctrl_1_cmp_3_ceph(self):
"""Test ensurability for cluster with ceph
Scenario:
1. Revert the snapshot 'lcm_deploy_1_ctrl_1_cmp_3_ceph'
2. Check that stored setting fixtures are up to date
3. Check that stored task fixtures are up to date
4. Check ensurability of the tasks
Snapshot: "ensurability_1_ctrl_1_cmp_3_ceph"
"""
self.show_step(1)
deployment = "1_ctrl_1_cmp_3_ceph"
self.env.revert_snapshot('lcm_deploy_{}'.format(deployment))
cluster_id = self.fuel_web.get_last_created_cluster()
slave_nodes = self.fuel_web.client.list_cluster_nodes(cluster_id)
self.show_step(2)
self.check_settings_consistency(deployment, cluster_id)
self.show_step(3)
self.deploy_fixtures(deployment, cluster_id, slave_nodes)
node_refs = self.check_extra_tasks(slave_nodes, deployment, idmp=False)
if node_refs:
self.generate_tasks_fixture(deployment, cluster_id, slave_nodes)
msg = ('Please update ensurability fixtures in the repo '
'according to generated fixtures')
raise DeprecatedFixture(msg)
self.show_step(4)
assert_true(
self.check_ensurability(deployment, cluster_id, slave_nodes),
"There are not ensurable tasks. "
"Please take a look at the output above!")
self.env.make_snapshot('ensurability_{}'.format(deployment))

View File

@ -56,7 +56,8 @@ class TaskIdempotency(LCMTestBasic):
.format(task_name))
continue
self.execute_task_on_node(task_name, node, cluster_id)
self.fuel_web.execute_task_on_node(task_name, node["id"],
cluster_id)
try:
report = self.get_puppet_report(node)