Decouple Fault Management from stx-config

List of changes:
1.Remove all fault management (FM) database tables from sysinv DB
2.Remove all FM commands from sysinv REST API service
3.Remove all FM CLI commands from cgts client
4.Add FM user to config controller to support region config
5.Update backup restore to reference the new alarm database table
6.Update controller config test files and add the new FM user
7.Add a FM puppet module in order to manage configuration data and
  database; to configure user, service and endpoint in Keystone
8.Add a FM puppet operator to populate FM and SNMP configuration data
9.Update NFV puppet to support FM endpoint configuration
10.Update haproxy manifest to support active-active FM API service

Story: 2002828

Task: 22747

Change-Id: I96d22a18d5872c2e5398f2e9e26a7056fe9b4e82
Signed-off-by: Tao Liu <tao.liu@windriver.com>
This commit is contained in:
Tao Liu
2018-08-15 14:07:24 -04:00
parent 4340414bb5
commit 5421df7098
84 changed files with 1749 additions and 2595 deletions

View File

@@ -42,7 +42,10 @@ EXPECTED_SERVICE_NAME_AND_TYPE = (
"PANKO_SERVICE_NAME": "panko",
"PANKO_SERVICE_TYPE": "event",
"GNOCCHI_SERVICE_NAME": "gnocchi",
"GNOCCHI_SERVICE_TYPE": "metric"})
"GNOCCHI_SERVICE_TYPE": "metric",
"FM_SERVICE_NAME": "fm",
"FM_SERVICE_TYPE": "faultmanagement",
})
def is_valid_vlan(vlan):

View File

@@ -992,6 +992,13 @@ class ConfigValidator(object):
gnocchi_password = get_optional(self.conf, 'REGION_2_SERVICES',
'GNOCCHI_PASSWORD')
# validate fm service name and type
get_service(self.conf, 'REGION_2_SERVICES', 'FM_SERVICE_NAME')
get_service(self.conf, 'REGION_2_SERVICES', 'FM_SERVICE_TYPE')
fm_user_name = self.conf.get('REGION_2_SERVICES', 'FM_USER_NAME')
fm_password = get_optional(self.conf, 'REGION_2_SERVICES',
'FM_PASSWORD')
if self.conf.has_option('REGION_2_SERVICES', 'USER_DOMAIN_NAME'):
user_domain = self.conf.get('REGION_2_SERVICES',
'USER_DOMAIN_NAME')
@@ -1100,6 +1107,8 @@ class ConfigValidator(object):
self.cgcs_conf.set('cREGION', 'GNOCCHI_USER_NAME',
gnocchi_user_name)
self.cgcs_conf.set('cREGION', 'GNOCCHI_PASSWORD', gnocchi_password)
self.cgcs_conf.set('cREGION', 'FM_USER_NAME', fm_user_name)
self.cgcs_conf.set('cREGION', 'FM_PASSWORD', fm_password)
self.cgcs_conf.set('cREGION', 'USER_DOMAIN_NAME',
user_domain)

View File

@@ -727,6 +727,12 @@ class REG2SERVICESPage2(ConfigPage):
self.fields['GNOCCHI_PASSWORD'] = Field(
text="GNOCCHI user password",
type=TYPES.string, initial="")
self.fields['FM_USER_NAME'] = Field(
text="FM username",
type=TYPES.string, initial="fm")
self.fields['FM_PASSWORD'] = Field(
text="FM user password",
type=TYPES.string, initial="")
def validate_page(self):
self.prev.validate_page()