Adding and deleting analytics components in analytics groups

In an Edge for Private Cloud instalaltion, you might have to remove Postgres and Qpid servers from an existing analytics group, or add them to an analytics group. This document describes how to add and remove Postgres and Qpid servers in an existing Edge installation for a single Postgres installation and a master-standby Postgres installation.

See Set up master-standby replication for Postgres for more.

Prerequisites

Ability to make management server API calls using the system admin credentials.

Add an existing Postgres server to an analytics group

The process for adding Postgres server components depends on whether Postgres was installed as a single server with no replication, or as two servers with master-standby replication enabled.

Scenario #1: One Postgres server, no Postgres replication

  1. Determine the name of the analytics and consumer groups.

    By default, the name of the analytics group is axgroup-001, and the name of the consumer group is consumer-group-001. In the silent config file for a region, you can set the name of the analytics group by using the AXGROUP property.

    If you are unsure of the names of the analytics and consumer groups, use the following command to display them:

    curl -u adminEmail:pword "http://ms-IP:8080/v1/analytics/groups/ax"

    This call returns a response containing the names of the analytics group:

    [ {
      "name" : "axgroup-001",
      "properties" : {
      },
      "scopes" : [ "example~prod", "example~test" ]
      …
    

    In this example, the analytics group name is axgroup-001.

  2. Use the following API to determine the UUID of the postgres-server component:
    curl http://pg-IP:8084/v1/servers/self

    In the following API calls, replace axgoupname and UUID with the analytics group name and UUID determined above.

  3. Use the following API call to add the Postgres server UUID to the postgres-server element:
    curl -v -u adminEmail:pword -X POST -H 'Content-Type:application/json' "http://ms-IP:8080/v1/analytics/groups/ax/axgroupname/servers?uuid=UUID&type=postgres-server&force=true"

    Example call and output:

    curl -v -u adminEmail:pword -X POST -H 'Content-Type:application/json' "http://localhost:8080/v1/analytics/groups/ax/axgroup-001/servers?uuid=8ee86b70-5b33-44b6-b2f8-1b0ec0ec8d77&type=postgres-server&force=true"
    [ {
      "name" : "axgroup-001",
      "properties" : {
      },
      "scopes" : [ "example~prod", "example~test" ],
      "uuids" : {
        "qpid-server" : [ "94c96375-1ca7-412d-9eee-80fda94f6e07"],
        "postgres-server" : ["8ee86b70-5b33-44b6-b2f8-1b0ec0ec8d77"]
      },
      "consumer-groups" : [ {
        "name" : "consumer-group-001",
        "consumers" : [ "94c96375-1ca7-412d-9eee-80fda94f6e07"],
        "datastores" : [ ],
        "properties" : {
        }
      } ],
      "data-processors" : {
      }
    
  4. Use the following API to add the Postgres server UUID to the consumer group :
    curl -v -u adminEmail:pword -X POST -H 'Content-Type:application/json' "http://ms-IP:8080/v1/analytics/groups/ax/axgroupname/consumer-groups/consumer-group-001/datastores?uuid=UUID"

    Example call and output:

    curl -v -u adminEmail:pword -X POST -H 'Content-Type:application/json' "http://localhost:8080/v1/analytics/groups/ax/axgroup-001/consumer-groups/consumer-group-001/datastores?uuid=8ee86b70-5b33-44b6-b2f8-1b0ec0ec8d77"
    [ {
      "name" : "axgroup-001",
      "properties" : {
      },
      "scopes" : [ "example~prod", "example~test" ],
      "uuids" : {
        "qpid-server" : [ "94c96375-1ca7-412d-9eee-80fda94f6e07"],
        "postgres-server" : ["8ee86b70-5b33-44b6-b2f8-1b0ec0ec8d77"]
      },
      "consumer-groups" : [ {
        "name" : "consumer-group-001",
        "consumers" : [ "94c96375-1ca7-412d-9eee-80fda94f6e07"],
        "datastores" : ["8ee86b70-5b33-44b6-b2f8-1b0ec0ec8d77"],
        "properties" : {
        }
      } ],
      "data-processors" : {
      }
    
  5. Restart all edge-postgres-server and edge-qpid-server components on all nodes to make sure the change is picked up by those components:
    /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
    /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server wait_for_ready
    /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
    /opt/apigee/apigee-service/bin/apigee-service edge edge-postgres-server wait_for_ready

Scenario #2: Two Postgres servers with master-standby replication

  1. Determine the name of the analytics and consumer groups.

    By default, the name of the analytics group is axgroup-001, and the name of the consumer group is consumer-group-001. In the silent config file for a region, you can set the name of the analytics group by using the AXGROUP property.

    If you are unsure of the names of the analytics and consumer groups, use the following command to display them:

    curl -u adminEmail:pword "http://ms-IP:8080/v1/analytics/groups/ax"

    This call returns a response containing the names of defined analytics groups:

    [ {
      "name" : "axgroup-001",
      "properties" : {
      },
      "scopes" : [ "example~prod", "example~test" ]
      …
    

    In this example, the analytics group name is axgroup-001.

  2. Use the following API call to find the UUIDs of each master postgres-server component AND the standby postgres-server component:
    curl http://pg-IP:8084/v1/servers/self

    In the following API calls you would have to replace axgoupname with axgroup-001 and the UUID that was obtained in step 2 on the master server needs to be used in place of masteruuid and the UUID that was returned in step 2 for the standby server needs to be used as slaveuuid.

  3. Use the following API to add the Postgres server UUIDs to the postgres-server element:
    curl -v -u adminEmail:pword -X POST -H 'Content-Type:application/json' "http://ms-IP:8080/v1/analytics/groups/ax/axgroupname/servers?uuid=masteruuid,slaveuuid>&type=postgres-server&force=true"

    Example call and output:

    curl -v -u adminEmail:pword -X POST -H 'Content-Typ:application/json' "http://localhost:8080/v1/analytics/groups/ax/axgroup-001/servers?uuid=8ee86b70-5b33-44b6-b2f8-1b0ec0ec8d77,731c8c43-8c35-4b58-ad1a-f572b69c5f0&type=postgres-server&force=true"
    [ {
      "name" : "axgroup-001",
      "properties" : {
      },
      "scopes" : [ "example~prod", "example~test" ],
      "uuids" : {
            "qpid-server" : ["54a96375-33a7-4fba-6bfa-80fda94f6e07" ],
            "postgres-server" : [ "8ee86b70-5b33-44b6-b2f8-1b0ec0ec8d77:731c8c43-8c35-4b58-ad1a-f572b69c5f0"]
      },
      "consumer-groups" : [ {
        "name" : "consumer-group-001",
        "consumers" : [ "54a96375-33a7-4fba-6bfa-80fda94f6e07" ],
        "datastores" : [],
        "properties" : {
        }
      } ],
      "data-processors" : {
      }
    
    
  4. Use the following API to add the Postgres server UUIDs to the consumer group:
    curl -v -u adminEmail:pword -X POST -H -H 'Content-Type:application/json' "http://ms-IP:8080/v1/analytics/groups/ax/axgroupname/consumer-groups/consumer-group-001/datastores?uuid=masteruuid,slaveuuid"

    Example call and output:

    curl -v -u adminEmail:pword -X POST -H 'Content-Typ:application/json' "http://localhost:8080/v1/analytics/groups/ax/axgroup-001/consumer-groups/consumer-group-001/datastores?uuid=8ee86b70-5b33-44b6-b2f8-1b0ec0ec8d77,731c8c43-8c35-4b58-ad1a-f572b69c5f0"
    [ {
      "name" : "axgroup-001",
      "properties" : {
      },
      "scopes" : [ "example~prod", "example~test" ],
      "uuids" : {
            "qpid-server" : ["54a96375-33a7-4fba-6bfa-80fda94f6e07" ],
            "postgres-server" : [ "8ee86b70-5b33-44b6-b2f8-1b0ec0ec8d77:731c8c43-8c35-4b58-ad1a-f572b69c5f0"]
      },
      "consumer-groups" : [ {
        "name" : "consumer-group-001",
        "consumers" : [ "54a96375-33a7-4fba-6bfa-80fda94f6e07" ],
        "datastores" : ["8ee86b70-5b33-44b6-b2f8-1b0ec0ec8d77:731c8c43-8c35-4b58-ad1a-f572b69c5f0"],
        "properties" : {
        }
      } ],
      "data-processors" : {
      }
    
  5. Restart all edge-postgres-server and edge-qpid-server components on all nodes to make sure the change is picked up by those components:
    /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
    /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server wait_for_ready
    /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
    /opt/apigee/apigee-service/bin/apigee-service edge edge-postgres-server wait_for_ready

Add an existing Qpid server to an analytics group

  1. Find the analytics group name using the following API:
    curl -u adminEmail:pword "http://ms-IP:8080/v1/analytics/groups/ax"

    This should return a response containing the names of the analytics groups and scopes:

    [  {
      "name" : "axgroup-001",
      "properties" : {
      },
      "scopes" : [ "example~prod", "example~test" ]
      …
    

    In this example, the analytics group name is axgroup-001.

  2. Use the following API call to determine the UUID of each the Qpid server component you want to add to the analytics group:
    curl http://qp-IP:8083/v1/servers/self
  3. Use the following API call to add a single Qpid server UUID to the qpid-server element (repeat for as many UUIDs as necessary):
    curl -v -u adminEmail:pword -X POST -H 'Content-Type:application/json' "http://ms-IP:8080/v1/analytics/groups/ax/axgroupname/servers?uuid=qpiduuid&type=qpid-server"

    Example call and output:

    curl -v -u adminEmail:pword -X POST -H 'Accept:application/json' "http://localhost:8080/v1/analytics/groups/ax/axgroup-001/servers?uuid=94c96375-1ca7-412d-9eee-80fda94f6e0&type=qpid-server"
    [  {
      "name" : "axgroup-001",
      "properties" : {
      },
      "scopes" : [ "example~prod", "example~test" ],
      "uuids" : {
            "qpid-server" : [ "94c96375-1ca7-412d-9eee-80fda94f6e07", "54a96375-33a7-4fba-6bfa-80fda94f6e07" ],
            "postgres-server" : [ "8ee86b70-5b33-44b6-b2f8-1b0ec0ec8d77:731c8c43-8c35-4b58-ad1a-f572b69c5f0"]
      },
      "consumer-groups" : [ {
        "name" : "consumer-group-001",
        "consumers" : [ "54a96375-33a7-4fba-6bfa-80fda94f6e07" ],
        "datastores" : ["8ee86b70-5b33-44b6-b2f8-1b0ec0ec8d77:731c8c43-8c35-4b58-ad1a-f57 ],
        "properties" : {
        }
      } ],
      "data-processors" : {
      }
    
  4. Use the following API call to add a single Qpid server UUID to the consumers element of the consumer group (repeat for as many UUIDs as necessary):
    curl -v -u adminEmail:pword -X POST -H 'Content-Type:application/json' "http://ms-IP:8080/v1/analytics/groups/ax/axgroupname/consumer-groups/consumer-group-001/consumers?uuid=qpiduuid" 

    Example call and output:

    curl -v -u adminEmail:pword -X POST -H 'Accept:application/json' "http://localhost:8080/v1/analytics/groups/ax/axgroup-001//consumer-groups/consumer-group-001/consumers?uuid=94c96375-1ca7-412d-9eee-80fda94f6e0"
    [  {
      "name" : "axgroup-001",
      "properties" : {
      },
      "scopes" : [ "example~prod", "example~test" ],
      "uuids" : {
            "qpid-server" : [ "94c96375-1ca7-412d-9eee-80fda94f6e07", "54a96375-33a7-4fba-6bfa-80fda94f6e07" ],
            "postgres-server" : [ "8ee86b70-5b33-44b6-b2f8-1b0ec0ec8d77:731c8c43-8c35-4b58-ad1a-f572b69c5f0"]
      },
      "consumer-groups" : [ {
        "name" : "consumer-group-001",
        "consumers" : [ "94c96375-1ca7-412d-9eee-80fda94f6e07","54a96375-33a7-4fba-6bfa-80fda94f6e07" ],
        "datastores" : ["8ee86b70-5b33-44b6-b2f8-1b0ec0ec8d77:731c8c43-8c35-4b58-ad1a-f57 ],
        "properties" : {
        }
      } ],
      "data-processors" : {
      }
    
    
  5. Restart all edge-qpid-server components on all nodes to make sure the change is picked up by those components:
    /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
    /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server wait_for_ready

Remove a Postgres server from an an analytics group

The process for removing a Postgres server depends on whether Postgres replication was enabled or not.

Scenario #1: One Postgres server, no replication

  1. Determine the name of the analytics and consumer groups.

    By default, the name of the analytics group is axgroup-001, and the name of the consumer group is consumer-group-001. In the silent config file for a region, you can set the name of the analytics group by using the AXGROUP property.

    If you are unsure of the names of the analytics and consumer groups, use the following command to display them:

    curl -u adminEmail:pword "http://ms-IP:8080/v1/analytics/groups/ax"

    This should return a response like the following:

    [ {
      "name" : "axgroup-001",
      "properties" : {
      },
      "scopes" : [ "example~prod", "example~test" ],
      "uuids" : {
        "qpid-server" : [ "94c96375-1ca7-412d-9eee-80fda94f6e07" ],
        "postgres-server" : [ "8ee86b70-5b33-44b6-b2f8-1b0ec0ec8d77"]
      },
      "consumer-groups" : [ {
        "name" : "consumer-group-001",
        "consumers" : [ "94c96375-1ca7-412d-9eee-80fda94f6e07" ],
        "datastores" : [ "8ee86b70-5b33-44b6-b2f8-1b0ec0ec8d77" ],
        "properties" : {
        }
      } ],
      "data-processors" : {
      }
    

    In this example, the analytics group name is axgroup-001, consumer group name consumer-group-001 and the postgres-server UUID is 8ee86b70-5b33-44b6-b2f8-1b0ec0ec8d77. Note that this ID is associated with both the postgres-server and the datastores element under consumer-groups.

    Use the analytics group name, consumer group name and UUID obtained in the steps below.

  2. Use the following API call to remove the postgres-server UUID from the datastores element of the consumer group:
    curl -v -u adminEmail:pword -X DELETE -H 'Accept:application/json' "http://ms-IP:8080/v1/analytics/groups/ax/axgroupname/consumer-groups/consumergroupname/datastores/UUID"

    Example call and output:

    curl -v -u adminEmail:pword -X DELETE -H 'Accept:application/json' "http://localhost:8080/v1/analytics/groups/ax/axgroup-001/consumer-groups/consumer-group-001/datastores/8ee86b70-5b33-44b6-b2f8-1b0ec0ec8d77"
    [ {
      "name" : "axgroup-001",
      "properties" : {
      },
      "scopes" : [ "example~prod", "example~test" ],
      "uuids" : {
        "qpid-server" : [ "94c96375-1ca7-412d-9eee-80fda94f6e07" ],
        "postgres-server" : [ "8ee86b70-5b33-44b6-b2f8-1b0ec0ec8d77"]
      },
      "consumer-groups" : [ {
        "name" : "consumer-group-001",
        "consumers" : [ "94c96375-1ca7-412d-9eee-80fda94f6e07" ],
        "datastores" : [ ],
        "properties" : {
        }
      } ],
      "data-processors" : {
      }
    
  3. Use the following API to remove the postgres-server UUID from the postgres-server element:
    curl -v -u adminEmail:pword -X DELETE -H 'Accept:application/json' "http://ms-IP:8080/v1/analytics/groups/ax/axgroupname/servers?uuid=UUID&type=postgres-server"

    Example call and output:

    curl -v -u adminEmail:pword -X DELETE -H 'Accept:application/json' "http://localhost:8080/v1/analytics/groups/ax/axgroup-001/servers?uuid=8ee86b70-5b33-44b6-b2f8-1b0ec0ec8d77&type=postgres-server"
    [ {
      "name" : "axgroup-001",
      "properties" : {
      },
      "scopes" : [ "example~prod", "example~test" ],
      "uuids" : {
        "qpid-server" : [ "94c96375-1ca7-412d-9eee-80fda94f6e07" ],
        "postgres-server" : [ ]
      },
      "consumer-groups" : [ {
        "name" : "consumer-group-001",
        "consumers" : [ "94c96375-1ca7-412d-9eee-80fda94f6e07" ],
        "datastores" : [ ],
        "properties" : {
        }
      } ],
      "data-processors" : {
      }
    
  4. Depending on if you are replacing or deleting the Postgres server:
    • If you are replacing the Postgres server, see Add a Postgres server for the steps to add a Postgres servers.
    • If you are deleting a Postgres server, restart all edge-postgres-server and edge-qpid-server components on all nodes to make sure the change is picked up by those components by running the following commands:
      /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
      /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server wait_for_ready
      /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
      /opt/apigee/apigee-service/bin/apigee-service edge edge-postgres-server wait_for_ready

Scenario #2: Two Postgres servers with master-standby replication

  1. Find the analytics group name and Postgres server UUIDs that are currently registered using the following API:

    curl -u adminEmail:pword "http://ms-IP:8080/v1/analytics/groups/ax"

    This call returns a response like the following:

    [ {
      "name" : "axgroup-001",
      "properties" : {
      },
      "scopes" : [ "example~prod", "example~test" ],
      "uuids" : {
            "qpid-server" : [ "94c96375-1ca7-412d-9eee-80fda94f6e07", "54a96375-33a7-4fba-6bfa-80fda94f6e07" ],
            "postgres-server" : [ "8ee86b70-5b33-44b6-b2f8-1b0ec0ec8d77:731c8c43-8c35-4b58-ad1a-f572b69c5f0"]
      },
      "consumer-groups" : [ {
        "name" : "consumer-group-001",
        "consumers" : [ "94c96375-1ca7-412d-9eee-80fda94f6e07", "54a96375-33a7-4fba-6bfa-80fda94f6e07" ],
        "datastores" : [ "8ee86b70-5b33-44b6-b2f8-1b0ec0ec8d77:731c8c43-8c35-4b58-ad1a-f572b69c5f0" ],
        "properties" : {
        }
      } ],
      "data-processors" : {
      }
    

    In this example, the analytics group name is axgroup-001, and the postgres-server UUIDs are 8ee86b70-5b33-44b6-b2f8-1b0ec0ec8d77 and 731c8c43-8c35-4b58-ad1a-f572b69c5f0. Note the postgres-server and datastores element have the same value.

    Use the analytics group name, consumer group name, and UUIDs obtained in this step in the steps below.

  2. Use the following API to remove the postgres-server UUIDs from the datastores element of the consumer group (note that the master and slave UUIDs are separated by a comma in the API but will be separated by a colon in the output of the analytics group call mentioned above):
    curl -v -u adminEmail:pword -X DELETE -H 'Accept:application/json' "http://ms-IP:8080/v1/analytics/groups/ax/axgroupname/consumer-groups/consumergroupname/datastores/masteruuid,slaveuuid"

    Example call and output:

    curl -v -u adminEmail:pword -X DELETE -H 'Accept:application/json' "http://localhost:8080/v1/analytics/groups/ax/axgroup-001/consumer-groups/consumer-group-001/datastores/8ee86b70-5b33-44b6-b2f8-1b0ec0ec8d77,731c8c43-8c35-4b58-ad1a-f572b69c5f0"
    [ {
      "name" : "axgroup-001",
      "properties" : {
      },
      "scopes" : [ "example~prod", "example~test" ],
      "uuids" : {
            "qpid-server" : [ "94c96375-1ca7-412d-9eee-80fda94f6e07", "54a96375-33a7-4fba-6bfa-80fda94f6e07" ],
            "postgres-server" : [ "8ee86b70-5b33-44b6-b2f8-1b0ec0ec8d77:731c8c43-8c35-4b58-ad1a-f572b69c5f0"]
      },
      "consumer-groups" : [ {
        "name" : "consumer-group-001",
        "consumers" : [ "94c96375-1ca7-412d-9eee-80fda94f6e07", "54a96375-33a7-4fba-6bfa-80fda94f6e07" ],
        "datastores" : [ ],
        "properties" : {
        }
      } ],
      "data-processors" : {
      }
    
  3. Use the following API to remove the postgres-server UUIDs from the postgres-server element:
    curl -v -u adminEmail:pword -X DELETE -H 'Accept:application/json' "http://ms-IP:8080/v1/analytics/groups/ax/axgroupname/servers?uuid=masteruuid,slaveuuid&type=postgres-server"

    Example call and output:

    curl -v -u adminEmail:pword -X DELETE -H 'Accept:application/json' "http://localhost:8080/v1/analytics/groups/ax/axgroup-001/servers?uuid=8ee86b70-5b33-44b6-b2f8-1b0ec0ec8d77,731c8c43-8c35-4b58-ad1a-f572b69c5f0&type=postgres-server"
    [ {
      "name" : "axgroup-001",
      "properties" : {
      },
      "scopes" : [ "example~prod", "example~test" ],
      "uuids" : {
        "qpid-server" : [ "94c96375-1ca7-412d-9eee-80fda94f6e07", "54a96375-33a7-4fba-6bfa-80fda94f6e07" ],
        "postgres-server" : [ ]
      },
      "consumer-groups" : [ {
        "name" : "consumer-group-001",
        "consumers" : [ "94c96375-1ca7-412d-9eee-80fda94f6e07", "54a96375-33a7-4fba-6bfa-80fda94f6e07" ],
        "datastores" : [ ],
        "properties" : {
        }
      } ],
      "data-processors" : {
      }
    
  4. Depending on if you are replacing or deleting the Postgres server:
    • If you are replacing the Postgres server, see Add a Postgres server for the steps to add a Postgres servers.
    • If you are deleting a Postgres server, restart all edge-postgres-server and edge-qpid-server components on all nodes to make sure the change is picked up by those components by running the following commands:
      /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
      /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server wait_for_ready
      /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
      /opt/apigee/apigee-service/bin/apigee-service edge edge-postgres-server wait_for_ready

    Remove a Qpid server from an analytics group

    1. Find the Qpid server UUIDs that are currently registered using the following API:
      curl -u adminEmail:pword "http://ms-IP:8080/v1/analytics/groups/ax"
      This should return a response in the form:
      [  {
        "name" : "axgroup-001",
        "properties" : {
        },
        "scopes" : [ "example~prod", "example~test" ],
        "uuids" : {
              "qpid-server" : [ "94c96375-1ca7-412d-9eee-80fda94f6e07", "54a96375-33a7-4fba-6bfa-80fda94f6e07" ],
              "postgres-server" : [ "8ee86b70-5b33-44b6-b2f8-1b0ec0ec8d77:731c8c43-8c35-4b58-ad1a-f572b69c5f0"]
        },
        "consumer-groups" : [ {
          "name" : "consumer-group-001",
          "consumers" : [ "94c96375-1ca7-412d-9eee-80fda94f6e07", "54a96375-33a7-4fba-6bfa-80fda94f6e07" ],
          "datastores" : [ "8ee86b70-5b33-44b6-b2f8-1b0ec0ec8d77:731c8c43-8c35-4b58-ad1a-f572b69c5f0" ],
          "properties" : {
          }
        } ],
        "data-processors" : {
        }
      

      In this example, the analytics group name is axgroup-001, and the Qpid server UUIDs are 94c96375-1ca7-412d-9eee-80fda94f6e0 and 54a96375-33a7-4fba-6bfa-80fda94f6e07. Note the qpid-server and consumers element have the same values.

      Use the analytics group name, consumer group name and UUIDs obtained in this step in the steps below.

    2. Use the following API call to remove a single qpid-server UUID from the consumers element of the consumer group (repeat for as many UUIDs as necessary):
      curl -v -u adminEmail:pword -X DELETE -H'Accept:application/json' "http://ms-IP:8080/v1/analytics/groups/ax/axgroupname/consumer-groups/consumer-group-001/consumers/qpiduuid"

      Example call and output:

      curl -v -u adminEmail:pword -X DELETE -H 'Accept:application/json' "http://localhost:8080/v1/analytics/groups/ax/axgroup-001/consumer-groups/consumer-group-001/consumers/94c96375-1ca7-412d-9eee-80fda94f6e0"
      [  {
        "name" : "axgroup-001",
        "properties" : {
        },
        "scopes" : [ "example~prod", "example~test" ],
        "uuids" : {
              "qpid-server" : [ "94c96375-1ca7-412d-9eee-80fda94f6e07", "54a96375-33a7-4fba-6bfa-80fda94f6e07" ],
              "postgres-server" : [ "8ee86b70-5b33-44b6-b2f8-1b0ec0ec8d77:731c8c43-8c35-4b58-ad1a-f572b69c5f0"]
        },
        "consumer-groups" : [ {
          "name" : "consumer-group-001",
          "consumers" : [ "54a96375-33a7-4fba-6bfa-80fda94f6e07" ],
          "datastores" : ["8ee86b70-5b33-44b6-b2f8-1b0ec0ec8d77:731c8c43-8c35-4b58-ad1a-f57 ],
          "properties" : {
          }
        } ],
        "data-processors" : {
        }
      
    3. Use the following API call to remove a single qpid-server UUID from the qpid-server element (repeat for as many UUIDs as necessary):
      curl -v -u adminEmail:pword -X DELETE -H 'Accept:application/json' "http://ms-IP:8080/v1/analytics/groups/ax/axgroupname/servers?uuid=qpiduuid&type=qpid-server"

      Example call and output:

      curl -v -u adminEmail:pword -X DELETE -H 'Accept:application/json' "http://localhost:8080/v1/analytics/groups/ax/axgroup-001/serevers?=94c96375-1ca7-412d-9eee-80fda94f6e0&type=qpid-server"
      [  {
        "name" : "axgroup-001",
        "properties" : {
        },
        "scopes" : [ "example~prod", "example~test" ],
        "uuids" : {
              "qpid-server" : ["54a96375-33a7-4fba-6bfa-80fda94f6e07" ],
              "postgres-server" : [ "8ee86b70-5b33-44b6-b2f8-1b0ec0ec8d77:731c8c43-8c35-4b58-ad1a-f572b69c5f0"]
        },
        "consumer-groups" : [ {
          "name" : "consumer-group-001",
          "consumers" : [ "54a96375-33a7-4fba-6bfa-80fda94f6e07" ],
          "datastores" : ["8ee86b70-5b33-44b6-b2f8-1b0ec0ec8d77:731c8c43-8c35-4b58-ad1a-f57 ],
          "properties" : {
          }
        } ],
        "data-processors" : {
        }
      
    4. Restart all edge-qpid-server components on all nodes to make sure the change is picked up by those components:
      /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
      /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server wait_for_ready