From d35de18275874d61634b3faecaa54011110f9b94 Mon Sep 17 00:00:00 2001 From: Tim Rozet Date: Mon, 25 Jan 2016 22:23:31 -0500 Subject: Patches keystone endpoint setup to include Aodh Note this behavior has changed in TripleO post Brahmaputra. The endpoints and services are created in THT rather than hardcoded in tripleoclient. JIRA: APEX-65 Change-Id: Ie595f2778fb509213e2992bf1ef60df82cf22666 Signed-off-by: Tim Rozet --- build/aodh-os-cloud-config.patch | 28 ++++++++++++++++++ build/aodh-tripleoclient.patch | 51 ++++++++++++++++++++++++++++++++ build/instack.sh | 8 +++++ build/opnfv-tripleo-heat-templates.patch | 31 ++++++++++++------- ci/deploy.sh | 16 ++++++++++ 5 files changed, 123 insertions(+), 11 deletions(-) create mode 100644 build/aodh-os-cloud-config.patch create mode 100644 build/aodh-tripleoclient.patch diff --git a/build/aodh-os-cloud-config.patch b/build/aodh-os-cloud-config.patch new file mode 100644 index 00000000..e2995401 --- /dev/null +++ b/build/aodh-os-cloud-config.patch @@ -0,0 +1,28 @@ +From 6809aa30bdd447dc839fe66af59b88836a2dd2ef Mon Sep 17 00:00:00 2001 +From: Tim Rozet +Date: Mon, 25 Jan 2016 21:48:22 +0000 +Subject: [PATCH] Adds aodh + +--- + keystone.py | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/keystone.py b/keystone.py +index 90ea00a..b74f223 100644 +--- a/keystone.py ++++ b/keystone.py +@@ -75,6 +75,11 @@ SERVICES = { + 'type': 'metering', + 'port': 8777, + }, ++ 'aodh': { ++ 'description': 'Aodh Service', ++ 'type': 'alarming', ++ 'port': 8042, ++ }, + 'cinder': { + 'description': 'Cinder Volume Service', + 'type': 'volume', +-- +1.8.3.1 + diff --git a/build/aodh-tripleoclient.patch b/build/aodh-tripleoclient.patch new file mode 100644 index 00000000..5464ddf5 --- /dev/null +++ b/build/aodh-tripleoclient.patch @@ -0,0 +1,51 @@ +From de3bb2ff31fb19238b164dcc794f6df80f0d0d38 Mon Sep 17 00:00:00 2001 +From: Tim Rozet +Date: Mon, 25 Jan 2016 19:15:38 +0000 +Subject: [PATCH] Adds aodh keystone + +--- + constants.py | 1 + + utils.py | 2 ++ + v1/overcloud_deploy.py | 1 + + 3 files changed, 4 insertions(+) + +diff --git a/constants.py b/constants.py +index 5b0218f..3816622 100644 +--- a/constants.py ++++ b/constants.py +@@ -29,6 +29,7 @@ SERVICE_LIST = { + 'port': '80', + 'path': WEBROOT, + 'admin_path': '%sadmin' % WEBROOT}, ++ 'aodh': {'password_field': 'OVERCLOUD_AODH_PASSWORD'}, + } + + TRIPLEO_HEAT_TEMPLATES = "/usr/share/openstack-tripleo-heat-templates/" +diff --git a/utils.py b/utils.py +index 35591f2..a8eae54 100644 +--- a/utils.py ++++ b/utils.py +@@ -60,6 +60,8 @@ def generate_overcloud_passwords(output_file="tripleo-overcloud-passwords"): + "OVERCLOUD_NOVA_PASSWORD", + "OVERCLOUD_SWIFT_HASH", + "OVERCLOUD_SWIFT_PASSWORD", ++ "OVERCLOUD_AODH_PASSWORD", ++ "OVERCLOUD_AODH_SECRET", + ) + + passwords = dict((p, passutils.generate_password(size=_MIN_PASSWORD_SIZE)) +diff --git a/v1/overcloud_deploy.py b/v1/overcloud_deploy.py +index f4c4892..1a356c4 100644 +--- a/v1/overcloud_deploy.py ++++ b/v1/overcloud_deploy.py +@@ -79,6 +79,7 @@ class DeployOvercloud(command.Command): + parameters['SwiftPassword'] = passwords['OVERCLOUD_SWIFT_PASSWORD'] + parameters['SnmpdReadonlyUserPassword'] = ( + undercloud_ceilometer_snmpd_password) ++ parameters['AodhPassword'] = passwords['OVERCLOUD_AODH_PASSWORD'] + + def _update_paramaters(self, args, network_client, stack): + parameters = constants.PARAMETERS.copy() +-- +1.8.3.1 + diff --git a/build/instack.sh b/build/instack.sh index 1fb0a349..a7ac8267 100755 --- a/build/instack.sh +++ b/build/instack.sh @@ -336,6 +336,14 @@ LIBGUESTFS_BACKEND=direct virt-customize --upload ../puppet-neutron-force-metada LIBGUESTFS_BACKEND=direct virt-customize --upload ../puppet-cinder-quota-fix.patch:/tmp \ --run-command "cd /etc/puppet/modules/cinder && patch -Np1 < /tmp/puppet-cinder-quota-fix.patch" \ -a overcloud-full-opendaylight.qcow2 + +# adds tripleoclient aodh workaround +# for keystone +LIBGUESTFS_BACKEND=direct virt-customize --upload ../aodh-tripleoclient.patch:/tmp \ + --run-command "cd /usr/lib/python2.7/site-packages/tripleoclient && patch -Np1 < /tmp/aodh-tripleoclient.patch" \ + --upload ../aodh-os-cloud-config.patch:/tmp \ + --run-command "cd /usr/lib/python2.7/site-packages/os_cloud_config && patch -Np1 < /tmp/aodh-os-cloud-config.patch" \ + -a instack.qcow2 # END REMOVE ME AFTER Brahmaputra ################################################ diff --git a/build/opnfv-tripleo-heat-templates.patch b/build/opnfv-tripleo-heat-templates.patch index ac06ae3d..8b88a421 100644 --- a/build/opnfv-tripleo-heat-templates.patch +++ b/build/opnfv-tripleo-heat-templates.patch @@ -1,4 +1,4 @@ -From 3bdd51fc8aa137e65422d6b1f5b0ddc4391b3201 Mon Sep 17 00:00:00 2001 +From ed1b87a3e7967868b87b18d2ac38619300a85975 Mon Sep 17 00:00:00 2001 From: Tim Rozet Date: Tue, 12 Jan 2016 16:49:57 -0500 Subject: [PATCH] Adds current opnfv patch with ODL and ONOS support @@ -18,10 +18,10 @@ Subject: [PATCH] Adds current opnfv patch with ODL and ONOS support puppet/hieradata/controller.yaml | 3 + puppet/manifests/overcloud_compute.pp | 33 +- puppet/manifests/overcloud_controller.pp | 104 +++++- - puppet/manifests/overcloud_controller_pacemaker.pp | 385 +++++++++++++++------ + puppet/manifests/overcloud_controller_pacemaker.pp | 394 +++++++++++++++------ puppet/manifests/overcloud_opendaylight.pp | 27 ++ puppet/opendaylight-puppet.yaml | 217 ++++++++++++ - 17 files changed, 968 insertions(+), 125 deletions(-) + 17 files changed, 977 insertions(+), 125 deletions(-) create mode 100644 environments/onos.yaml create mode 100644 environments/opendaylight-external.yaml create mode 100644 environments/opendaylight.yaml @@ -107,7 +107,7 @@ index 0000000..c8abf75 + opendaylight_install: true diff --git a/environments/opendaylight_l3.yaml b/environments/opendaylight_l3.yaml new file mode 100644 -index 0000000..ffdb017 +index 0000000..05c0aff --- /dev/null +++ b/environments/opendaylight_l3.yaml @@ -0,0 +1,9 @@ @@ -950,7 +950,7 @@ index 1f6c2be..474bb1d 100644 include ::heat include ::heat::api diff --git a/puppet/manifests/overcloud_controller_pacemaker.pp b/puppet/manifests/overcloud_controller_pacemaker.pp -index 3fb92f3..770fc77 100644 +index 3fb92f3..4dc4f7f 100644 --- a/puppet/manifests/overcloud_controller_pacemaker.pp +++ b/puppet/manifests/overcloud_controller_pacemaker.pp @@ -380,6 +380,21 @@ if hiera('step') >= 2 { @@ -971,7 +971,7 @@ index 3fb92f3..770fc77 100644 + controllers_ip => $controller_node_ips + } + } -+ ++ exec { 'galera-ready' : command => '/usr/bin/clustercheck >/dev/null', timeout => 30, @@ -1125,7 +1125,7 @@ index 3fb92f3..770fc77 100644 } - pacemaker::resource::service { $::neutron::params::l3_agent_service: - clone_params => 'interleave=true', -+ if !('onos_ml2' in hiera('neutron_mechanism_drivers') or str2bool(hiera('opendaylight_enable_l3', 'no'))) { ++ if !('onos_ml2' in hiera('neutron_mechanism_drivers')) { + pacemaker::resource::service { $::neutron::params::l3_agent_service: + clone_params => 'interleave=true', + } @@ -1384,7 +1384,7 @@ index 3fb92f3..770fc77 100644 pacemaker::resource::service { $::ceilometer::params::agent_notification_service_name : clone_params => 'interleave=true', } -@@ -1315,8 +1426,10 @@ if hiera('step') >= 4 { +@@ -1315,8 +1426,19 @@ if hiera('step') >= 4 { # Fedora doesn't know `require-all` parameter for constraints yet if $::operatingsystem == 'Fedora' { $redis_ceilometer_constraint_params = undef @@ -1392,10 +1392,19 @@ index 3fb92f3..770fc77 100644 } else { $redis_ceilometer_constraint_params = 'require-all=false' + $redis_aodh_constraint_params = 'require-all=false' ++ } ++ pacemaker::constraint::base { 'keystone-then-aodh-api-constraint': ++ constraint_type => 'order', ++ first_resource => "${::keystone::params::service_name}-clone", ++ second_resource => "${::aodh::params::api_service_name}-clone", ++ first_action => 'start', ++ second_action => 'start', ++ require => [Pacemaker::Resource::Service[$::aodh::params::api_service_name], ++ Pacemaker::Resource::Service[$::keystone::params::service_name]], } pacemaker::constraint::base { 'redis-then-ceilometer-central-constraint': constraint_type => 'order', -@@ -1328,6 +1441,16 @@ if hiera('step') >= 4 { +@@ -1328,6 +1450,16 @@ if hiera('step') >= 4 { require => [Pacemaker::Resource::Ocf['redis'], Pacemaker::Resource::Service[$::ceilometer::params::agent_central_service_name]], } @@ -1412,7 +1421,7 @@ index 3fb92f3..770fc77 100644 pacemaker::constraint::base { 'keystone-then-ceilometer-central-constraint': constraint_type => 'order', first_resource => "${::keystone::params::service_name}-clone", -@@ -1426,6 +1549,38 @@ if hiera('step') >= 4 { +@@ -1426,6 +1558,38 @@ if hiera('step') >= 4 { require => [Pacemaker::Resource::Service[$::ceilometer::params::agent_notification_service_name], Pacemaker::Resource::Service[$::ceilometer::params::alarm_notifier_service_name]], } @@ -1708,5 +1717,5 @@ index 0000000..b876dc7 + - - {get_attr: [OpenDaylightDeployment, deploy_stdout]} + - {get_param: UpdateIdentifier} -- -2.5.4 (Apple Git-61) +2.5.0 diff --git a/ci/deploy.sh b/ci/deploy.sh index 73430901..949db04f 100755 --- a/ci/deploy.sh +++ b/ci/deploy.sh @@ -35,6 +35,7 @@ ping_site="8.8.8.8" ntp_server="pool.ntp.org" net_isolation_enabled="TRUE" post_config="TRUE" +debug="FALSE" declare -i CNT declare UNDERCLOUD @@ -862,6 +863,15 @@ EOF openstack overcloud deploy --templates $DEPLOY_OPTIONS EOI + if [ "$debug" == 'TRUE' ]; then + ssh -T ${SSH_OPTIONS[@]} "stack@$UNDERCLOUD" <