CI/scenarios : Add scenario007 for OVN services
authorNuman Siddique <nusiddiq@redhat.com>
Tue, 18 Jul 2017 15:58:18 +0000 (21:28 +0530)
committerNuman Siddique <nusiddiq@redhat.com>
Sun, 23 Jul 2017 14:11:26 +0000 (14:11 +0000)
Depends-On: Ide11569d81f5f28bafccc168b624be505174fc53
Change-Id: Ie3f09dc70a582f3d14de093043e232820f837bc3

README.rst
ci/environments/scenario007-multinode.yaml [new file with mode: 0644]
ci/pingtests/scenario007-multinode.yaml [new file with mode: 0644]

index 988a0d8..f670fa6 100644 (file)
@@ -64,80 +64,82 @@ Service testing matrix
 The configuration for the CI scenarios will be defined in `tripleo-heat-templates/ci/`
 and should be executed according to the following table:
 
-+----------------+-------------+-------------+-------------+-------------+-----------------+
-|        -       | scenario001 | scenario002 | scenario003 | scenario004 | multinode-nonha |
-+================+=============+=============+=============+=============+=================+
-| keystone       |      X      |      X      |      X      |      X      |        X        |
-+----------------+-------------+-------------+-------------+-------------+-----------------+
-| glance         |    rbd      |    swift    |    file     | swift + rbd |      swift      |
-+----------------+-------------+-------------+-------------+-------------+-----------------+
-| cinder         |     rbd     |    iscsi    |             |             |      iscsi      |
-+----------------+-------------+-------------+-------------+-------------+-----------------+
-| heat           |      X      |      X      |      X      |      X      |        X        |
-+----------------+-------------+-------------+-------------+-------------+-----------------+
-| mysql          |      X      |      X      |      X      |      X      |        X        |
-+----------------+-------------+-------------+-------------+-------------+-----------------+
-| neutron        |     ovs     |     ovs     |     ovs     |     ovs     |        X        |
-+----------------+-------------+-------------+-------------+-------------+-----------------+
-| neutron-bgpvpn |             |             |             |      X      |                 |
-+----------------+-------------+-------------+-------------+-------------+-----------------+
-| neutron-l2gw   |             |             |             |      X      |                 |
-+----------------+-------------+-------------+-------------+-------------+-----------------+
-| rabbitmq       |      X      |      X      |      X      |      X      |        X        |
-+----------------+-------------+-------------+-------------+-------------+-----------------+
-| mongodb        |      X      |      X      |             |             |                 |
-+----------------+-------------+-------------+-------------+-------------+-----------------+
-| redis          |      X      |             |             |             |                 |
-+----------------+-------------+-------------+-------------+-------------+-----------------+
-| haproxy        |      X      |      X      |      X      |      X      |        X        |
-+----------------+-------------+-------------+-------------+-------------+-----------------+
-| keepalived     |      X      |      X      |      X      |      X      |        X        |
-+----------------+-------------+-------------+-------------+-------------+-----------------+
-| memcached      |      X      |      X      |      X      |      X      |        X        |
-+----------------+-------------+-------------+-------------+-------------+-----------------+
-| pacemaker      |      X      |      X      |      X      |      X      |        X        |
-+----------------+-------------+-------------+-------------+-------------+-----------------+
-| nova           |     qemu    |     qemu    |     qemu    |     qemu    |        X        |
-+----------------+-------------+-------------+-------------+-------------+-----------------+
-| ntp            |      X      |      X      |      X      |      X      |        X        |
-+----------------+-------------+-------------+-------------+-------------+-----------------+
-| snmp           |      X      |      X      |      X      |      X      |        X        |
-+----------------+-------------+-------------+-------------+-------------+-----------------+
-| timezone       |      X      |      X      |      X      |      X      |        X        |
-+----------------+-------------+-------------+-------------+-------------+-----------------+
-| sahara         |             |             |      X      |             |                 |
-+----------------+-------------+-------------+-------------+-------------+-----------------+
-| mistral        |             |             |      X      |             |                 |
-+----------------+-------------+-------------+-------------+-------------+-----------------+
-| swift          |             |      X      |             |             |        X        |
-+----------------+-------------+-------------+-------------+-------------+-----------------+
-| aodh           |      X      |             |             |             |                 |
-+----------------+-------------+-------------+-------------+-------------+-----------------+
-| ceilometer     |      X      |             |             |             |                 |
-+----------------+-------------+-------------+-------------+-------------+-----------------+
-| gnocchi        |      X      |             |             |             |                 |
-+----------------+-------------+-------------+-------------+-------------+-----------------+
-| panko          |      X      |             |             |             |                 |
-+----------------+-------------+-------------+-------------+-------------+-----------------+
-| barbican       |             |      X      |             |             |                 |
-+----------------+-------------+-------------+-------------+-------------+-----------------+
-| zaqar          |             |      X      |             |             |                 |
-+----------------+-------------+-------------+-------------+-------------+-----------------+
-| ec2api         |             |      X      |             |             |                 |
-+----------------+-------------+-------------+-------------+-------------+-----------------+
-| cephrgw        |             |      X      |             |      X      |                 |
-+----------------+-------------+-------------+-------------+-------------+-----------------+
-| tacker         |      X      |             |             |             |                 |
-+----------------+-------------+-------------+-------------+-------------+-----------------+
-| congress       |      X      |             |             |             |                 |
-+----------------+-------------+-------------+-------------+-------------+-----------------+
-| cephmds        |             |             |             |      X      |                 |
-+----------------+-------------+-------------+-------------+-------------+-----------------+
-| manila         |             |             |             |      X      |                 |
-+----------------+-------------+-------------+-------------+-------------+-----------------+
-| collectd       |      X      |             |             |             |                 |
-+----------------+-------------+-------------+-------------+-------------+-----------------+
-| fluentd        |      X      |             |             |             |                 |
-+----------------+-------------+-------------+-------------+-------------+-----------------+
-| sensu-client   |      X      |             |             |             |                 |
-+----------------+-------------+-------------+-------------+-------------+-----------------+
++----------------+-------------+-------------+-------------+-------------+-----------------++-------------+
+|        -       | scenario001 | scenario002 | scenario003 | scenario004 | multinode-nonha | scenario007  |
++================+=============+=============+=============+=============+=================+==============+
+| keystone       |      X      |      X      |      X      |      X      |        X        |      X       |
++----------------+-------------+-------------+-------------+-------------+-----------------+--------------+
+| glance         |    rbd      |    swift    |    file     | swift + rbd |      swift      |     file     |
++----------------+-------------+-------------+-------------+-------------+-----------------+--------------+
+| cinder         |     rbd     |    iscsi    |             |             |      iscsi      |              |
++----------------+-------------+-------------+-------------+-------------+-----------------+--------------+
+| heat           |      X      |      X      |      X      |      X      |        X        |      X       |
++----------------+-------------+-------------+-------------+-------------+-----------------+--------------+
+| mysql          |      X      |      X      |      X      |      X      |        X        |      X       |
++----------------+-------------+-------------+-------------+-------------+-----------------+--------------+
+| neutron        |     ovs     |     ovs     |     ovs     |     ovs     |        X        |     ovn      |
++----------------+-------------+-------------+-------------+-------------+-----------------+--------------+
+| neutron-bgpvpn |             |             |             |      X      |                 |              |
++----------------+-------------+-------------+-------------+-------------+-----------------+--------------+
+| ovn            |             |             |             |             |                 |      X       |
++---------------------------------------------------------------------------------------------------------+
+| neutron-l2gw   |             |             |             |      X      |                 |              |
++----------------+-------------+-------------+-------------+-------------+-----------------+--------------+
+| rabbitmq       |      X      |      X      |      X      |      X      |        X        |      X       |
++----------------+-------------+-------------+-------------+-------------+-----------------+--------------+
+| mongodb        |      X      |      X      |             |             |                 |              |
++----------------+-------------+-------------+-------------+-------------+-----------------+--------------+
+| redis          |      X      |             |             |             |                 |              |
++----------------+-------------+-------------+-------------+-------------+-----------------+--------------+
+| haproxy        |      X      |      X      |      X      |      X      |        X        |      X       |
++----------------+-------------+-------------+-------------+-------------+-----------------+--------------+
+| keepalived     |      X      |      X      |      X      |      X      |        X        |      X       |
++----------------+-------------+-------------+-------------+-------------+-----------------+--------------+
+| memcached      |      X      |      X      |      X      |      X      |        X        |      X       |
++----------------+-------------+-------------+-------------+-------------+-----------------+--------------+
+| pacemaker      |      X      |      X      |      X      |      X      |        X        |      X       |
++----------------+-------------+-------------+-------------+-------------+-----------------+--------------+
+| nova           |     qemu    |     qemu    |     qemu    |     qemu    |        X        |     qemu     |
++----------------+-------------+-------------+-------------+-------------+-----------------+--------------+
+| ntp            |      X      |      X      |      X      |      X      |        X        |      X       |
++----------------+-------------+-------------+-------------+-------------+-----------------+--------------+
+| snmp           |      X      |      X      |      X      |      X      |        X        |      X       |
++----------------+-------------+-------------+-------------+-------------+-----------------+--------------+
+| timezone       |      X      |      X      |      X      |      X      |        X        |      X       |
++----------------+-------------+-------------+-------------+-------------+-----------------+--------------+
+| sahara         |             |             |      X      |             |                 |      X       |
++----------------+-------------+-------------+-------------+-------------+-----------------+--------------+
+| mistral        |             |             |      X      |             |                 |      X       |
++----------------+-------------+-------------+-------------+-------------+-----------------+--------------+
+| swift          |             |      X      |             |             |        X        |              |
++----------------+-------------+-------------+-------------+-------------+-----------------+--------------+
+| aodh           |      X      |             |             |             |                 |              |
++----------------+-------------+-------------+-------------+-------------+-----------------+--------------+
+| ceilometer     |      X      |             |             |             |                 |              |
++----------------+-------------+-------------+-------------+-------------+-----------------+--------------+
+| gnocchi        |      X      |             |             |             |                 |              |
++----------------+-------------+-------------+-------------+-------------+-----------------+--------------+
+| panko          |      X      |             |             |             |                 |              |
++----------------+-------------+-------------+-------------+-------------+-----------------+--------------+
+| barbican       |             |      X      |             |             |                 |              |
++----------------+-------------+-------------+-------------+-------------+-----------------+--------------+
+| zaqar          |             |      X      |             |             |                 |              |
++----------------+-------------+-------------+-------------+-------------+-----------------+--------------+
+| ec2api         |             |      X      |             |             |                 |              |
++----------------+-------------+-------------+-------------+-------------+-----------------+--------------+
+| cephrgw        |             |      X      |             |      X      |                 |              |
++----------------+-------------+-------------+-------------+-------------+-----------------+--------------+
+| tacker         |      X      |             |             |             |                 |              |
++----------------+-------------+-------------+-------------+-------------+-----------------+--------------+
+| congress       |      X      |             |             |             |                 |              |
++----------------+-------------+-------------+-------------+-------------+-----------------+--------------+
+| cephmds        |             |             |             |      X      |                 |              |
++----------------+-------------+-------------+-------------+-------------+-----------------+--------------+
+| manila         |             |             |             |      X      |                 |              |
++----------------+-------------+-------------+-------------+-------------+-----------------+--------------+
+| collectd       |      X      |             |             |             |                 |              |
++----------------+-------------+-------------+-------------+-------------+-----------------+--------------+
+| fluentd        |      X      |             |             |             |                 |              |
++----------------+-------------+-------------+-------------+-------------+-----------------+--------------+
+| sensu-client   |      X      |             |             |             |                 |              |
++----------------+-------------+-------------+-------------+-------------+-----------------+--------------+
diff --git a/ci/environments/scenario007-multinode.yaml b/ci/environments/scenario007-multinode.yaml
new file mode 100644 (file)
index 0000000..6db00ef
--- /dev/null
@@ -0,0 +1,75 @@
+resource_registry:
+  OS::TripleO::Controller::Net::SoftwareConfig: ../common/net-config-multinode.yaml
+  OS::TripleO::Compute::Net::SoftwareConfig: ../common/net-config-multinode.yaml
+  OS::TripleO::Services::RabbitMQ: ../../puppet/services/pacemaker/rabbitmq.yaml
+  OS::TripleO::Services::HAproxy: ../../puppet/services/pacemaker/haproxy.yaml
+  OS::TripleO::Services::Pacemaker: ../../puppet/services/pacemaker.yaml
+  OS::TripleO::Services::MySQL: ../../puppet/services/pacemaker/database/mysql.yaml
+  OS::TripleO::Services::Keepalived: OS::Heat::None
+  OS::TripleO::Tasks::ControllerPreConfig: ../../extraconfig/tasks/pre_puppet_pacemaker.yaml
+  OS::TripleO::Tasks::ControllerPostConfig: ../../extraconfig/tasks/post_puppet_pacemaker.yaml
+  OS::TripleO::Tasks::ControllerPostPuppetRestart: ../../extraconfig/tasks/post_puppet_pacemaker_restart.yaml
+  # Disable neutron services not required for OVN and enable services required for OVN.
+  OS::TripleO::Services::NeutronL3Agent: OS::Heat::None
+  OS::TripleO::Services::NeutronOvsAgent: OS::Heat::None
+  OS::TripleO::Services::NeutronMetadataAgent: OS::Heat::None
+  OS::TripleO::Services::NeutronDhcpAgent: OS::Heat::None
+  OS::TripleO::Services::ComputeNeutronOvsAgent: OS::Heat::None
+  OS::TripleO::Services::NeutronCorePlugin: OS::TripleO::Services::NeutronCorePluginML2OVN
+  OS::TripleO::Services::ComputeNeutronCorePlugin: ../../puppet/services/neutron-compute-plugin-ovn.yaml
+  OS::TripleO::Services::OVNDBs: ../../puppet/services/ovn-dbs.yaml
+
+parameter_defaults:
+  ControllerServices:
+    - OS::TripleO::Services::Docker
+    - OS::TripleO::Services::Kernel
+    - OS::TripleO::Services::Keystone
+    - OS::TripleO::Services::GlanceApi
+    - OS::TripleO::Services::HeatApi
+    - OS::TripleO::Services::HeatApiCfn
+    - OS::TripleO::Services::HeatApiCloudwatch
+    - OS::TripleO::Services::HeatEngine
+    - OS::TripleO::Services::MySQL
+    - OS::TripleO::Services::MySQLClient
+    - OS::TripleO::Services::NeutronServer
+    - OS::TripleO::Services::NeutronCorePlugin
+    - OS::TripleO::Services::OVNDBs
+    - OS::TripleO::Services::ComputeNeutronCorePlugin
+    - OS::TripleO::Services::RabbitMQ
+    - OS::TripleO::Services::HAproxy
+    - OS::TripleO::Services::Keepalived
+    - OS::TripleO::Services::Memcached
+    - OS::TripleO::Services::Pacemaker
+    - OS::TripleO::Services::NovaConductor
+    - OS::TripleO::Services::NovaApi
+    - OS::TripleO::Services::NovaPlacement
+    - OS::TripleO::Services::NovaMetadata
+    - OS::TripleO::Services::NovaScheduler
+    - OS::TripleO::Services::Ntp
+    - OS::TripleO::Services::Snmp
+    - OS::TripleO::Services::Timezone
+    - OS::TripleO::Services::NovaCompute
+    - OS::TripleO::Services::NovaLibvirt
+    - OS::TripleO::Services::TripleoPackages
+    - OS::TripleO::Services::TripleoFirewall
+    - OS::TripleO::Services::Sshd
+  ControllerExtraConfig:
+    nova::compute::libvirt::services::libvirt_virt_type: qemu
+    nova::compute::libvirt::libvirt_virt_type: qemu
+  # For OVN.
+  NeutronMechanismDrivers: ovn
+  OVNVifType: ovs
+  OVNNeutronSyncMode: log
+  OVNQosDriver: ovn-qos
+  OVNTunnelEncapType: geneve
+  NeutronEnableDHCPAgent: false
+  NeutronTypeDrivers: 'geneve,vlan,flat,vxlan'
+  NeutronNetworkType: 'geneve'
+  NeutronServicePlugins: 'qos,networking_ovn.l3.l3_ovn.OVNL3RouterPlugin'
+  NeutronVniRanges: ['1:65536', ]
+  OVNBridgeMappings: 'datacentre:br-ex'
+  Debug: true
+  # we don't deploy Swift so we switch to file backend.
+  GlanceBackend: 'file'
+  KeystoneTokenProvider: 'fernet'
+  SwiftCeilometerPipelineEnabled: false
diff --git a/ci/pingtests/scenario007-multinode.yaml b/ci/pingtests/scenario007-multinode.yaml
new file mode 100644 (file)
index 0000000..b7d6213
--- /dev/null
@@ -0,0 +1,127 @@
+heat_template_version: pike
+
+description: >
+  HOT template to created resources deployed by scenario007.
+parameters:
+  key_name:
+    type: string
+    description: Name of keypair to assign to servers
+    default: 'pingtest_key'
+  image:
+    type: string
+    description: Name of image to use for servers
+    default: 'pingtest_image'
+  public_net_name:
+    type: string
+    default: 'nova'
+    description: >
+      ID or name of public network for which floating IP addresses will be allocated
+  private_net_name:
+    type: string
+    description: Name of private network to be created
+    default: 'default-net'
+  private_net_cidr:
+    type: string
+    description: Private network address (CIDR notation)
+    default: '192.168.2.0/24'
+  private_net_gateway:
+    type: string
+    description: Private network gateway address
+    default: '192.168.2.1'
+  private_net_pool_start:
+    type: string
+    description: Start of private network IP address allocation pool
+    default: '192.168.2.100'
+  private_net_pool_end:
+    type: string
+    default: '192.168.2.200'
+    description: End of private network IP address allocation pool
+
+resources:
+
+  key_pair:
+    type: OS::Nova::KeyPair
+    properties:
+      save_private_key: true
+      name: {get_param: key_name }
+
+  private_net:
+    type: OS::Neutron::Net
+    properties:
+      name: { get_param: private_net_name }
+
+  private_subnet:
+    type: OS::Neutron::Subnet
+    properties:
+      network_id: { get_resource: private_net }
+      cidr: { get_param: private_net_cidr }
+      gateway_ip: { get_param: private_net_gateway }
+      allocation_pools:
+        - start: { get_param: private_net_pool_start }
+          end: { get_param: private_net_pool_end }
+
+  router:
+    type: OS::Neutron::Router
+    properties:
+      external_gateway_info:
+        network: { get_param: public_net_name }
+
+  router_interface:
+    type: OS::Neutron::RouterInterface
+    properties:
+      router_id: { get_resource: router }
+      subnet_id: { get_resource: private_subnet }
+
+  server1:
+    type: OS::Nova::Server
+    properties:
+      name: Server1
+      flavor: { get_resource: test_flavor }
+      image: { get_param: image }
+      key_name: { get_resource: key_pair }
+      networks:
+        - port: { get_resource: server1_port }
+
+  server1_port:
+    type: OS::Neutron::Port
+    properties:
+      network_id: { get_resource: private_net }
+      fixed_ips:
+        - subnet_id: { get_resource: private_subnet }
+      security_groups: [{ get_resource: server_security_group }]
+
+  server1_floating_ip:
+    type: OS::Neutron::FloatingIP
+    # TODO: investigate why we need this depends_on and if we could
+    # replace it by router_id with get_resource: router_interface
+    depends_on: router_interface
+    properties:
+      floating_network: { get_param: public_net_name }
+      port_id: { get_resource: server1_port }
+
+  server_security_group:
+    type: OS::Neutron::SecurityGroup
+    properties:
+      description: Add security group rules for server
+      name: pingtest-security-group
+      rules:
+        - remote_ip_prefix: 0.0.0.0/0
+          protocol: tcp
+          port_range_min: 22
+          port_range_max: 22
+        - remote_ip_prefix: 0.0.0.0/0
+          protocol: icmp
+
+  test_flavor:
+    type: OS::Nova::Flavor
+    properties:
+      ram: 512
+      vcpus: 1
+
+outputs:
+  server1_private_ip:
+    description: IP address of server1 in private network
+    value: { get_attr: [ server1, first_address ] }
+  server1_public_ip:
+    description: Floating IP address of server1 in public network
+    value: { get_attr: [ server1_floating_ip, floating_ip_address ] }