Patches keystone endpoint setup to include Aodh 51/7951/3
authorTim Rozet <trozet@redhat.com>
Tue, 26 Jan 2016 03:23:31 +0000 (22:23 -0500)
committerTim Rozet <trozet@redhat.com>
Tue, 26 Jan 2016 20:29:34 +0000 (15:29 -0500)
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 <trozet@redhat.com>
build/aodh-os-cloud-config.patch [new file with mode: 0644]
build/aodh-tripleoclient.patch [new file with mode: 0644]
build/instack.sh
build/opnfv-tripleo-heat-templates.patch
ci/deploy.sh

diff --git a/build/aodh-os-cloud-config.patch b/build/aodh-os-cloud-config.patch
new file mode 100644 (file)
index 0000000..e299540
--- /dev/null
@@ -0,0 +1,28 @@
+From 6809aa30bdd447dc839fe66af59b88836a2dd2ef Mon Sep 17 00:00:00 2001
+From: Tim Rozet <trozet@redhat.com>
+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 (file)
index 0000000..5464ddf
--- /dev/null
@@ -0,0 +1,51 @@
+From de3bb2ff31fb19238b164dcc794f6df80f0d0d38 Mon Sep 17 00:00:00 2001
+From: Tim Rozet <trozet@redhat.com>
+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
+
index 1fb0a34..a7ac826 100755 (executable)
@@ -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
 
 ################################################
index ac06ae3..8b88a42 100644 (file)
@@ -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 <tdrozet@gmail.com>
 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
 
index 7343090..949db04 100755 (executable)
@@ -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" <<EOI
+source overcloudrc
+echo "Keystone Endpoint List:"
+keystone endpoint-list
+echo "Keystone Service List"
+keystone service-list
+EOI
+  fi
 }
 
 ##Post configuration after install
@@ -928,6 +938,7 @@ display_usage() {
   echo -e "   --no-ha : disable High Availability deployment scheme, this assumes a single controller and single compute node \n"
   echo -e "   --flat : disable Network Isolation and use a single flat network for the underlay network.\n"
   echo -e "   --no-post-config : disable Post Install configuration."
+  echo -e "   --debug : enable debug output."
 }
 
 ##translates the command line parameters into variables
@@ -994,6 +1005,11 @@ parse_cmdline() {
                 echo "Post install configuration disabled"
                 shift 1
             ;;
+        --debug )
+                debug="TRUE"
+                echo "Enable debug output"
+                shift 1
+            ;;
         *)
                 display_usage
                 exit 1