From 608f6c7571aa2700e3bd8cc0b685d57dfd6bc5e3 Mon Sep 17 00:00:00 2001
From: Christian Berendt <berendt@betacloud-solutions.de>
Date: Sun, 7 Aug 2016 22:02:30 +0200
Subject: [PATCH] Remove heat dev environment

The heat dev environment is not functional, remove it to avoid confusions.

Change-Id: I05ac25294516270328ca1fe88f15defeea570306
Partial-bug: #1562334
---
 dev/heat/get-image.sh       |  41 ------
 dev/heat/kollacluster.yaml  | 120 -----------------
 dev/heat/kollanode.yaml     | 251 ------------------------------------
 dev/heat/local.yaml.example |   5 -
 doc/heat-dev-env.rst        | 198 ----------------------------
 doc/index.rst               |   1 -
 doc/quickstart.rst          |  13 --
 7 files changed, 629 deletions(-)
 delete mode 100755 dev/heat/get-image.sh
 delete mode 100644 dev/heat/kollacluster.yaml
 delete mode 100644 dev/heat/kollanode.yaml
 delete mode 100644 dev/heat/local.yaml.example
 delete mode 100644 doc/heat-dev-env.rst

diff --git a/dev/heat/get-image.sh b/dev/heat/get-image.sh
deleted file mode 100755
index 21166301e7..0000000000
--- a/dev/heat/get-image.sh
+++ /dev/null
@@ -1,41 +0,0 @@
-#!/bin/bash
-
-# This script expects the following to be installed:
-# curl, libguestfs-tools-c
-
-IMAGE_URL=http://archive.fedoraproject.org/pub/fedora/linux/releases/21/Cloud/Images/x86_64
-IMAGE=Fedora-Cloud-Base-20141203-21.x86_64.qcow2
-TARGET_DIR=/var/lib/libvirt/images
-TARGET=fedora-21-x86_64
-export LIBGUESTFS_BACKEND=direct
-
-if ! [ -f "$IMAGE" ]; then
-    echo "Downloading $IMAGE"
-    curl -L -O $IMAGE_URL/$IMAGE
-fi
-
-echo "Copying $IMAGE to $TARGET"
-cp "$IMAGE" $TARGET_DIR/$TARGET
-
-
-TMPFILE=$(mktemp /tmp/kolla-ifcfg-eth1.XXXXXXXXXX)
-cat > $TMPFILE <<EOF
-DEVICE=eth1
-BOOTPROTO=none
-ONBOOT=yes
-DEFROUTE=no
-EOF
-
-
-virt-customize \
-    --add $TARGET_DIR/$TARGET \
-    --upload $TMPFILE:/etc/sysconfig/network-scripts/ifcfg-eth1
-
-# SELinux relabeling requires virt-customize to have networking disabled
-# https://bugzilla.redhat.com/show_bug.cgi?id=1122907
-virt-customize --add $TARGET_DIR/$TARGET --selinux-relabel --no-network
-
-rm -f $TMPFILE
-
-echo "Finished building image:"
-ls -l $TARGET_DIR/$TARGET
diff --git a/dev/heat/kollacluster.yaml b/dev/heat/kollacluster.yaml
deleted file mode 100644
index 5625ec5d13..0000000000
--- a/dev/heat/kollacluster.yaml
+++ /dev/null
@@ -1,120 +0,0 @@
-heat_template_version: 2013-05-23
-
-description: >
-  This template will boot a Kolla cluster with one or more
-  nodes (as specified by the number_of_nodes parameter,
-  which defaults to "1").
-
-parameters:
-  #
-  # REQUIRED PARAMETERS
-  #
-  ssh_key_name:
-    type: string
-    description: name of ssh key to be provisioned on the Nova instances
-
-  external_network_id:
-    type: string
-    description: uuid of a network to use for accessing Kolla hosts by floating ip address
-
-  container_external_network_id:
-    type: string
-    description: uuid of a network to use for container floating ip addresses
-
-  container_external_subnet_id:
-    type: string
-    description: uuid of a subnet to use for container floating ip addresses
-
-  #
-  # OPTIONAL PARAMETERS
-  #
-  server_image:
-    type: string
-    default: fedora-21-x86_64
-    description: glance image used to boot the Nova instance
-
-  server_flavor:
-    type: string
-    default: m1.small
-    description: flavor to use when booting the Nova instance
-
-  dns_nameserver:
-    type: string
-    description: address of a dns nameserver reachable in your environment
-    default: 8.8.8.8
-
-  number_of_nodes:
-    type: string
-    description: how many kolla nodes to spawn
-    default: 1
-
-  fixed_network_cidr:
-    type: string
-    description: network range for fixed ip network
-    default: 10.0.0.0/24
-
-resources:
-
-  ######################################################################
-  #
-  # network resources.  allocate a network and router for our server.
-  # it would also be possible to take advantage of existing network
-  # resources (and have the deployer provide network and subnet ids,
-  # etc, as parameters), but I wanted to minmize the amount of
-  # configuration necessary to make this go.
-  fixed_network:
-    type: "OS::Neutron::Net"
-
-  # This is the subnet on which we will deploy our server eth0.
-  fixed_subnet:
-    type: "OS::Neutron::Subnet"
-    properties:
-      cidr: {get_param: fixed_network_cidr}
-      network_id:
-        get_resource: fixed_network
-      dns_nameservers:
-        - get_param: dns_nameserver
-
-  # create a router attached to the external network provided as a
-  # parameter to this stack.
-  extrouter:
-    type: "OS::Neutron::Router"
-    properties:
-      external_gateway_info:
-        network:
-          get_param: external_network_id
-
-  # attached fixed_subnet to our extrouter router.
-  extrouter_inside:
-    type: "OS::Neutron::RouterInterface"
-    properties:
-      router_id:
-        get_resource: extrouter
-      subnet_id:
-        get_resource:
-          fixed_subnet
-
-  kolla_nodes:
-    type: "OS::Heat::ResourceGroup"
-    depends_on:
-      - extrouter_inside
-    properties:
-      count: {get_param: number_of_nodes}
-      resource_def:
-        type: kollanode.yaml
-        properties:
-          ssh_key_name: {get_param: ssh_key_name}
-          server_image: {get_param: server_image}
-          server_flavor: {get_param: server_flavor}
-          fixed_network_id: {get_resource: fixed_network}
-          fixed_subnet_id: {get_resource: fixed_subnet}
-          external_network_id: {get_param: external_network_id}
-          container_external_network_id: {get_param: container_external_network_id}
-          container_external_subnet_id: {get_param: container_external_subnet_id}
-outputs:
-
-  kolla_node_internal_ip:
-    value: {get_attr: [kolla_nodes, kolla_node_ip_eth0]}
-
-  kolla_node_external_ip:
-    value: {get_attr: [kolla_nodes, kolla_node_external_ip]}
diff --git a/dev/heat/kollanode.yaml b/dev/heat/kollanode.yaml
deleted file mode 100644
index a1fa11a6b0..0000000000
--- a/dev/heat/kollanode.yaml
+++ /dev/null
@@ -1,251 +0,0 @@
-heat_template_version: 2013-05-23
-
-description: >
-  This is a nested stack that defines a single Kolla node,
-  based on a Fedora 21 cloud image. This stack is included by
-  a ResourceGroup resource in the parent template (kollacluster.yaml).
-
-parameters:
-
-  server_image:
-    type: string
-    default: fedora-21-x86_64
-    description: glance image used to boot the server
-
-  server_flavor:
-    type: string
-    default: m1.small
-    description: flavor to use when booting the server
-
-  ssh_key_name:
-    type: string
-    description: name of ssh key to be provisioned on our server
-
-  external_network_id:
-    type: string
-    description: uuid of a network to use for kolla host floating ip addresses
-
-  container_external_network_id:
-    type: string
-    description: uuid of a network to use for container floating ip addresses
-
-  container_external_subnet_id:
-    type: string
-    description: uuid of a subnet to use for container floating ip addresses
-
-  # The following are all generated in the parent template.
-  fixed_network_id:
-    type: string
-    description: Network from which to allocate fixed addresses.
-  fixed_subnet_id:
-    type: string
-    description: Subnet from which to allocate fixed addresses.
-
-resources:
-
-  node_wait_handle:
-    type: "AWS::CloudFormation::WaitConditionHandle"
-
-  node_wait_condition:
-    type: "AWS::CloudFormation::WaitCondition"
-    depends_on:
-      - kolla_node
-    properties:
-      Handle:
-        get_resource: node_wait_handle
-      Timeout: "6000"
-
-  ######################################################################
-  #
-  # Security groups.  We need to permit network traffic of various
-  # sorts.
-  #
-  secgroup_base:
-    type: "OS::Neutron::SecurityGroup"
-    properties:
-      rules:
-        - protocol: icmp
-        - protocol: tcp
-          port_range_min: 22
-          port_range_max: 22
-
-  # Use by eth1 to permit all traffic to instances.
-  # Let the Neutron container apply security to this traffic.
-  secgroup_all_open:
-    type: "OS::Neutron::SecurityGroup"
-    properties:
-      rules:
-        - protocol: icmp
-        - protocol: tcp
-        - protocol: udp
-
-  secgroup_kolla:
-    type: "OS::Neutron::SecurityGroup"
-    properties:
-      rules:
-        - protocol: tcp
-          port_range_min: 5672
-          port_range_max: 5672
-        - protocol: tcp
-          port_range_min: 3306
-          port_range_max: 3306
-        - protocol: tcp
-          port_range_min: 8773
-          port_range_max: 8776
-        - protocol: tcp
-          port_range_min: 6080
-          port_range_max: 6080
-        - protocol: tcp
-          port_range_min: 6081
-          port_range_max: 6081
-        - protocol: tcp
-          port_range_min: 35357
-          port_range_max: 35357
-        - protocol: tcp
-          port_range_min: 5000
-          port_range_max: 5000
-        - protocol: tcp
-          port_range_min: 9191
-          port_range_max: 9191
-        - protocol: tcp
-          port_range_min: 9292
-          port_range_max: 9292
-        - protocol: tcp
-          port_range_min: 9696
-          port_range_max: 9696
-        - protocol: tcp
-          port_range_min: 80
-          port_range_max: 80
-        - protocol: tcp
-          port_range_min: 443
-          port_range_max: 443
-        - protocol: tcp
-          port_range_min: 8000
-          port_range_max: 8000
-        - protocol: tcp
-          port_range_min: 8004
-          port_range_max: 8004
-        - protocol: tcp
-          port_range_min: 8003
-          port_range_max: 8003
-        - protocol: tcp
-          port_range_min: 8080
-          port_range_max: 8080
-        - protocol: tcp
-          port_range_min: 8777
-          port_range_max: 8777
-
-  kolla_node:
-    type: "OS::Nova::Server"
-    properties:
-      image:
-        get_param: server_image
-      flavor:
-        get_param: server_flavor
-      key_name:
-        get_param: ssh_key_name
-      user_data_format: RAW
-      user_data:
-        str_replace:
-          template: |
-            #!/bin/bash
-
-            # Latest packages
-            yum clean all
-            yum -y update
-
-            # Remove network manager
-            yum -y remove NetworkManager
-            chkconfig network on
-
-            # Install base packages
-            yum -y install wget ntp git tcpdump python-pip python-devel
-
-            # Install Docker from binaries
-            curl -L https://get.docker.com/builds/Linux/x86_64/docker-1.7.0 -o /usr/local/sbin/docker
-            chmod +x /usr/local/sbin/docker && cd /usr/local/sbin/
-            ./docker -d &
-
-            # Install Compose with pid=host support
-            cd /root
-            git clone http://github.com/docker/compose.git
-            cd compose
-            pip install -e .
-
-            # Pull the Kolla repo
-            cd /root
-            git clone https://git.openstack.org/openstack/kolla
-
-            # Add vxlan kernel module for Neutron
-            modprobe vxlan
-
-            # Start NTP
-            systemctl enable ntpd
-            systemctl start ntpd
-
-            # Install mariadb-client
-            yum -y install mariadb
-
-            # Install OpenStack Clients
-            yum -y install python-keystoneclient python-glanceclient \
-                           python-novaclient python-cinderclient \
-                           python-neutronclient python-heatclient
-
-            # Disable firewalld per OpenStack documentation
-            service firewalld stop
-            chkconfig firewalld off
-
-            # Install Magnum Client
-            git clone https://git.openstack.org/openstack/python-magnumclient
-            cd python-magnumclient
-            sudo pip install -e .
-
-            # Send the CFN signal
-            cfn-signal -e0 --data 'OK' -r 'Setup complete' '$WAIT_HANDLE'
-          params:
-            "$WAIT_HANDLE":
-              get_resource: node_wait_handle
-      networks:
-        - port:
-            get_resource: kolla_node_eth0
-        - port:
-            get_resource: kolla_node_eth1
-
-  kolla_node_eth0:
-    type: "OS::Neutron::Port"
-    properties:
-      network_id:
-        get_param: fixed_network_id
-      security_groups:
-        - get_resource: secgroup_base
-        - get_resource: secgroup_kolla
-      fixed_ips:
-        - subnet_id:
-            get_param: fixed_subnet_id
-
-  kolla_node_eth1:
-    type: "OS::Neutron::Port"
-    properties:
-      network_id:
-        get_param: container_external_network_id
-      security_groups:
-        - get_resource: secgroup_all_open
-      fixed_ips:
-        - subnet_id:
-            get_param: container_external_subnet_id
-
-  kolla_node_floating:
-    type: "OS::Neutron::FloatingIP"
-    properties:
-      floating_network_id:
-        get_param: external_network_id
-      port_id:
-        get_resource: kolla_node_eth0
-
-outputs:
-
-  kolla_node_ip_eth0:
-    value: {get_attr: [kolla_node_eth0, fixed_ips, 0, ip_address]}
-
-  kolla_node_external_ip:
-    value: {get_attr: [kolla_node_floating, floating_ip_address]}
diff --git a/dev/heat/local.yaml.example b/dev/heat/local.yaml.example
deleted file mode 100644
index 8f76cd835e..0000000000
--- a/dev/heat/local.yaml.example
+++ /dev/null
@@ -1,5 +0,0 @@
-parameters:
-  ssh_key_name: <YOUR_NOVA_KEYPAIR>
-  external_network_id: <NEUTRON_EXTERNAL_NET_ID>
-  container_external_network_id: <NEUTRON_EXTERNAL_NET_ID2>
-  container_external_subnet_id: <NEUTRON_EXTERNAL_SUBNETNET_ID2>
diff --git a/doc/heat-dev-env.rst b/doc/heat-dev-env.rst
deleted file mode 100644
index 46e7d5813e..0000000000
--- a/doc/heat-dev-env.rst
+++ /dev/null
@@ -1,198 +0,0 @@
-.. _heat-dev-env:
-
-=================================
-Development Environment with Heat
-=================================
-
-These `Heat <https://wiki.openstack.org/wiki/Heat>`__ templates will
-deploy an *N*-node `Kolla <https://wiki.openstack.org/Kolla>`__ cluster,
-where *N* is the value of the ``number_of_nodes`` parameter you specify
-when creating the stack.
-
-Kolla has recently undergone a considerable design change. The details
-of the design change is addressed in this
-`spec <https://review.openstack.org/#/c/153798/>`__. As part of the
-design change, containers share pid and networking namespaces with the
-Docker host. Therefore, containers no longer connect to a docker0 bridge
-and have separate networking from the host. As a result, Kolla
-networking has a configuration similar to:
-
-.. image:: kollanet.png
-   :alt: Kolla networking
-
-Sharing pid and networking namespaces is detailed in the `super
-privileged
-containers <http://sdake.io/2015/01/28/an-atomic-upgrade-process-for-openstack-compute-nodes/>`__
-concept.
-
-The Kolla cluster is based on Fedora 21, requires the minimum Docker
-version of 1.7.0
-`binary <https://docs.docker.com/installation/binaries/>`__.
-
-These templates are designed to work with the Icehouse or Juno versions
-of Heat. If using Icehouse Heat, this
-`patch <https://review.openstack.org/#/c/121139/>`__ is required to
-correct a bug with template validation when using the "Fn::Join"
-function).
-
-Create the Glance Image
-=======================
-
-After cloning the project, run the get-image.sh script from the
-project's devenv directory:
-
-::
-
-    $ ./get-image.sh
-
-The script will create a Fedora 21 image with the required
-modifications.
-
-Add the image to your Glance image store:
-
-::
-
-    $ glance image-create --name "fedora-21-x86_64" \
-    --file /var/lib/libvirt/images/fedora-21-x86_64 \
-    --disk-format qcow2 --container-format bare \
-    --is-public True --progress
-
-Create the Stack
-================
-
-Copy local.yaml.example to local.yaml and edit the contents to match
-your deployment environment. Here is an example of a customized
-local.yaml:
-
-::
-
-    parameters:
-      ssh_key_name: admin-key
-      external_network_id: 028d70dd-67b8-4901-8bdd-0c62b06cce2d
-      container_external_network_id: 028d70dd-67b8-4901-8bdd-0c62b06cce2d
-      container_external_subnet_id: 575770dd-6828-1101-34dd-0c62b06fjf8s
-      dns_nameserver: 192.168.200.1
-
-The external\_network\_id is used by Heat to automatically assign
-floating IP's to your Kolla nodes. You can then access your Kolla nodes
-directly using the floating IP. The network ID is derived from the
-``neutron net-list`` command.
-
-The container\_external\_network\_id is used by the nova-network
-container within the Kolla node as the FLAT\_INTERFACE. The
-FLAT\_INTERFACE tells Nova what device to use (i.e. eth1) to pass
-network traffic between Nova instances across Kolla nodes. This network
-should be separate from the external\_network\_id above and is derived
-from the 'neutron net-list' command.
-
-The container\_external\_subnet\_id: is the subnet equivalent to
-container\_external\_network\_id
-
-Review the parameters section of kollacluster.yaml for a full list of
-configuration options.
-
-.. note:: You must provide values for:
-
-          -  ``ssh_key_name``
-          -  ``external_network_id``
-          -  ``container_external_network_id``
-          -  ``container_external_subnet_id``
-
-And then create the stack, referencing that environment file:
-
-::
-
-    $ openstack stack create -f kollacluster.yaml -e local.yaml kolla-cluster
-
-Access the Kolla Nodes
-======================
-
-You can get the ip address of the Kolla nodes using the
-``openstack stack output show`` command:
-
-::
-
-    $ openstack stack output show kolla-cluster kolla_node_external_ip
-    "192.168.200.86"
-
-You can ssh into that server as the ``fedora`` user:
-
-::
-
-    $ ssh fedora@192.168.200.86
-
-Once logged into your Kolla node, setup your environment. The basic
-starting environment will be created using ``docker-compose``. This
-environment will start up the openstack services listed in the compose
-directory.
-
-To start, setup your environment variables.
-
-::
-
-    $ cd kolla
-    $ ./tools/genenv
-
-The ``genenv`` script will create a compose/openstack.env file and an
-openrc file in your current directory. The openstack.env file contains
-all of your initialized environment variables, which you can edit for a
-different setup.
-
-Next, run the start script.
-
-::
-
-    $ ./tools/kolla-compose start
-
-The ``start`` script is responsible for starting the containers using
-``docker-compose -f <osp-service-container> up -d``.
-
-If you want to start a container set by hand use this template
-
-::
-
-    $ docker-compose -f glance-api-registry.yml up -d
-
-Debugging
-=========
-
-All Docker commands should be run from the directory of the Docker
-binary, by default this is ``/``.
-
-A few commands for debugging the system.
-
-::
-
-    $ sudo ./docker images
-
-Lists all images that have been pulled from the upstream kolla
-repository thus far. This can be run on the node during the ``./start``
-operation to check on the download progress.
-
-::
-
-    $ sudo ./docker ps -a
-
-This will show all processes that docker has started. Removing the
-``-a`` will show only active processes. This can be run on the node
-during the ``./start`` operation to check that the containers are
-orchestrated.
-
-::
-
-    $ sudo ./docker logs <containerid>
-
-::
-
-    $ curl http://<NODE_IP>:3306
-
-You can use curl to test connectivity to a container. This example
-demonstrates the Mariadb service is running on the node. Output should
-appear as follows
-
-::
-
-    $ curl http://10.0.0.4:3306
-    Trying 10.0.0.4...
-    Connected to 10.0.0.4.
-    Escape character is '^]'.
diff --git a/doc/index.rst b/doc/index.rst
index a5d50bc6cb..00c484af8f 100644
--- a/doc/index.rst
+++ b/doc/index.rst
@@ -65,6 +65,5 @@ Developer Docs
    :maxdepth: 1
 
    CONTRIBUTING
-   heat-dev-env
    vagrant-dev-env
    running-tests
diff --git a/doc/quickstart.rst b/doc/quickstart.rst
index c755dfa12e..55c0b87c03 100644
--- a/doc/quickstart.rst
+++ b/doc/quickstart.rst
@@ -305,23 +305,10 @@ Two virtualized development environment options are available for Kolla. These
 options permit the development of Kolla without disrupting the host operating
 system.
 
-If developing Kolla on an OpenStack cloud environment that supports Heat,
-follow the :doc:`heat-dev-env`.
-
 If developing Kolla on a system that provides VirtualBox or Libvirt in addition
 to Vagrant, use the Vagrant virtual environment documented in
 :doc:`vagrant-dev-env`.
 
-Currently the Heat development environment is entirely non-functional. The
-Kolla core reviewers have debated removing it from the repository but have
-resisted to provide an opportunity for contributors to make Heat usable for
-Kolla development. The Kolla core reviewers believe Heat would offer a great
-way to develop Kolla in addition to Vagrant, bare metal, or a manually setup
-virtual machine.
-
-For more information refer to
-`_bug 1562334 <https://bugs.launchpad.net/kolla/+bug/1562334>`__.
-
 Building Container Images
 =========================
 
-- 
GitLab