diff --git a/bin/refresh.sh b/bin/refresh.sh
index d8674406..e19b907a 100755
--- a/bin/refresh.sh
+++ b/bin/refresh.sh
@@ -1,3 +1,22 @@
 #!/bin/bash
-/opt/compass/bin/refresh_agent.sh
-/opt/compass/bin/refresh_server.sh
+set -e
+systemctl restart mysql.service
+systemctl status mysql.service || exit $?
+/opt/compass/bin/manage_db.py createdb
+/opt/compass/bin/clean_installers.py --noasync
+/opt/compass/bin/clean_installation_logs.py
+rm -rf /var/ansible/run/*
+systemctl restart httpd.service
+systemctl status httpd.service || exit $?
+systemctl restart rsyslog.service
+systemctl status rsyslog.service || exit $?
+systemctl restart redis.service
+systemctl status  redis.service || exit $?
+redis-cli flushall
+systemctl restart cobblerd.service
+systemctl status cobblerd.service || exit $?
+systemctl restart compass-celeryd.service
+systemctl status compass-celeryd.service || exit $?
+systemctl restart compass-progress-updated.service
+systemctl status compass-progress-updated.service || exit $?
+
diff --git a/bin/refresh_agent.sh b/bin/refresh_agent.sh
deleted file mode 100755
index 13c3050e..00000000
--- a/bin/refresh_agent.sh
+++ /dev/null
@@ -1,22 +0,0 @@
-#!/bin/bash
-set -e
-# systemctl restart mysql.service
-# systemctl status mysql.service || exit $?
-# /opt/compass/bin/manage_db.py createdb
-/opt/compass/bin/clean_installers.py --noasync
-/opt/compass/bin/clean_installation_logs.py
-rm -rf /var/ansible/run/*
-# systemctl restart httpd.service
-# systemctl status httpd.service || exit $?
-systemctl restart rsyslog.service
-systemctl status rsyslog.service || exit $?
-systemctl restart redis.service
-systemctl status  redis.service || exit $?
-redis-cli flushall
-systemctl restart cobblerd.service
-systemctl status cobblerd.service || exit $?
-systemctl restart compass-celeryd.service
-systemctl status compass-celeryd.service || exit $?
-# systemctl restart compass-progress-updated.service
-# systemctl status compass-progress-updated.service || exit $?
-
diff --git a/bin/refresh_server.sh b/bin/refresh_server.sh
deleted file mode 100755
index a93204a4..00000000
--- a/bin/refresh_server.sh
+++ /dev/null
@@ -1,22 +0,0 @@
-#!/bin/bash
-set -e
-systemctl restart mysql.service
-systemctl status mysql.service || exit $?
-/opt/compass/bin/manage_db.py createdb
-# /opt/compass/bin/clean_installers.py --noasync
-# /opt/compass/bin/clean_installation_logs.py
-# rm -rf /var/ansible/run/*
-systemctl restart httpd.service
-systemctl status httpd.service || exit $?
-systemctl restart rsyslog.service
-systemctl status rsyslog.service || exit $?
-systemctl restart redis.service
-systemctl status  redis.service || exit $?
-redis-cli flushall
-# systemctl restart cobblerd.service
-# systemctl status cobblerd.service || exit $?
-# systemctl restart compass-celeryd.service
-# systemctl status compass-celeryd.service || exit $?
-# systemctl restart compass-progress-updated.service
-# systemctl status compass-progress-updated.service || exit $?
-
diff --git a/compass/actions/poll_switch.py b/compass/actions/poll_switch.py
index 5c29b013..d759a8cc 100644
--- a/compass/actions/poll_switch.py
+++ b/compass/actions/poll_switch.py
@@ -150,8 +150,7 @@ def poll_switch(poller_email, ip_addr, credentials,
 
         for switch in switches:
             for machine_dict in machine_dicts:
-                logging.info('add machine: %s', machine_dict)
-                machine_dict['owner_id'] = poller.id
+                logging.debug('add machine: %s', machine_dict)
                 switch_api.add_switch_machine(
                     switch['id'], False, user=poller, **machine_dict
                 )
diff --git a/compass/api/api.py b/compass/api/api.py
index 7af27217..3cfb8d8f 100644
--- a/compass/api/api.py
+++ b/compass/api/api.py
@@ -393,10 +393,6 @@ def _login(use_cookie):
     )
     data['expire_timestamp'] = expire_timestamp
     user = auth_handler.authenticate_user(**data)
-    if not user.active:
-        raise exception_handler.UserDisabled(
-            '%s is not activated' % user.email
-        )
     if not login_user(user, remember=data.get('remember', False)):
         raise exception_handler.UserDisabled('failed to login: %s' % user)
 
@@ -419,17 +415,6 @@ def login():
     return _login(True)
 
 
-@app.route("/users/register", methods=['POST'])
-def register():
-    """register new user."""
-    data = _get_request_data()
-    data['is_admin'] = False
-    data['active'] = False
-    return utils.make_json_response(
-        200, user_api.add_user(**data)
-    )
-
-
 @app.route('/users/logout', methods=['POST'])
 @login_required
 def logout():
@@ -3164,19 +3149,19 @@ def update_host_state(host_id):
 
 
 @util.deprecated
-@app.route("/hosts/<host_id>/state_internal", methods=['PUT', 'POST'])
-def update_host_state_internal(host_id):
+@app.route("/hosts/<hostname>/state_internal", methods=['PUT', 'POST'])
+def update_host_state_internal(hostname):
     """update host state.
 
     Supported fields: ['ready']
     """
     data = _get_request_data()
-    host_id = int(host_id)
-    hosts = host_api.list_hosts(id=host_id)
+    hosts = host_api.list_hosts(name=hostname)
     if not hosts:
         raise exception_handler.ItemNotFound(
-            'no hosts found for host_id %s' % host_id
+            'no hosts found for hostname %s' % hostname
         )
+    host_id = hosts[0]['id']
     return utils.make_json_response(
         200,
         host_api.update_host_state_internal(
diff --git a/compass/db/api/cluster.py b/compass/db/api/cluster.py
index bb838d12..9fc00402 100644
--- a/compass/db/api/cluster.py
+++ b/compass/db/api/cluster.py
@@ -359,7 +359,7 @@ def add_cluster(
 
     cluster = utils.add_db_object(
         session, models.Cluster, exception_when_existing,
-        name, user.id, adapter_id=adapter_id,
+        name, creator_id=user.id, adapter_id=adapter_id,
         flavor_id=flavor_id, flavor=flavor, **kwargs
     )
     return cluster
@@ -480,10 +480,7 @@ def del_cluster(
                     for clusterhost in cluster.clusterhosts
                 ],
                 delete_underlying_host
-            ),
-            queue=user.email,
-            exchange=user.email,
-            routing_key=user.email
+            )
         )
         return {
             'status': 'delete action is sent',
@@ -1186,10 +1183,7 @@ def _del_cluster_host(
             (
                 user.email, clusterhost.cluster_id, clusterhost.host_id,
                 delete_underlying_host
-            ),
-            queue=user.email,
-            exchange=user.email,
-            routing_key=user.email
+            )
         )
         return {
             'status': 'delete action sent',
@@ -1860,10 +1854,7 @@ def deploy_cluster(
         (
             user.email, cluster_id,
             [clusterhost.host_id for clusterhost in clusterhosts]
-        ),
-        queue=user.email,
-        exchange=user.email,
-        routing_key=user.email
+        )
     )
     return {
         'status': 'deploy action sent',
@@ -1927,10 +1918,7 @@ def redeploy_cluster(
         'compass.tasks.redeploy_cluster',
         (
             user.email, cluster_id
-        ),
-        queue=user.email,
-        exchange=user.email,
-        routing_key=user.email
+        )
     )
     return {
         'status': 'redeploy action sent',
@@ -1957,10 +1945,7 @@ def patch_cluster(cluster_id, user=None, session=None, **kwargs):
         'compass.tasks.patch_cluster',
         (
             user.email, cluster_id,
-        ),
-        queue=user.email,
-        exchange=user.email,
-        routing_key=user.email
+        )
     )
     return {
         'status': 'patch action sent',
@@ -2061,7 +2046,7 @@ def update_cluster_host_state(
 
 def _update_clusterhost_state(
     clusterhost, from_database_only=False,
-    session=None, user=None, **kwargs
+    session=None, **kwargs
 ):
     """Update clusterhost state.
 
@@ -2102,22 +2087,13 @@ def _update_clusterhost_state(
             utils.update_db_object(session, cluster.state, ready=False)
         status = '%s state is updated' % clusterhost.name
     else:
-        if not user:
-            user_id = cluster.creator_id
-            user_dict = user_api.get_user(user_id, session=session)
-            user_email = user_dict['email']
-        else:
-            user_email = user.email
         from compass.tasks import client as celery_client
         celery_client.celery.send_task(
             'compass.tasks.package_installed',
             (
                 clusterhost.cluster_id, clusterhost.host_id,
                 cluster_ready, host_ready
-            ),
-            queue=user_email,
-            exchange=user_email,
-            routing_key=user_email
+            )
         )
         status = '%s: cluster ready %s host ready %s' % (
             clusterhost.name, cluster_ready, host_ready
@@ -2150,7 +2126,7 @@ def update_cluster_host_state_internal(
     )
     return _update_clusterhost_state(
         clusterhost, from_database_only=from_database_only,
-        session=session, users=user, **kwargs
+        session=session, **kwargs
     )
 
 
@@ -2193,7 +2169,7 @@ def update_clusterhost_state_internal(
     clusterhost = _get_clusterhost(clusterhost_id, session=session)
     return _update_clusterhost_state(
         clusterhost, from_database_only=from_database_only,
-        session=session, user=user, **kwargs
+        session=session, **kwargs
     )
 
 
@@ -2264,19 +2240,10 @@ def update_cluster_state_internal(
                 )
         status = '%s state is updated' % cluster.name
     else:
-        if not user:
-            user_id = cluster.creator_id
-            user_dict = user_api.get_user(user_id, session=session)
-            user_email = user_dict['email']
-        else:
-            user_email = user.email
         from compass.tasks import client as celery_client
         celery_client.celery.send_task(
             'compass.tasks.cluster_installed',
-            (clusterhost.cluster_id, clusterhost_ready),
-            queue=user_email,
-            exchange=user_email,
-            routing_key=user_email
+            (clusterhost.cluster_id, clusterhost_ready)
         )
         status = '%s installed action set clusterhost ready %s' % (
             cluster.name, clusterhost_ready
diff --git a/compass/db/api/health_check_report.py b/compass/db/api/health_check_report.py
index aaea7a7c..562008c9 100644
--- a/compass/db/api/health_check_report.py
+++ b/compass/db/api/health_check_report.py
@@ -179,10 +179,7 @@ def start_check_cluster_health(cluster_id, send_report_url,
     from compass.tasks import client as celery_client
     celery_client.celery.send_task(
         'compass.tasks.cluster_health',
-        (cluster.id, send_report_url, user.email),
-        queue=user.email,
-        exchange=user.email,
-        routing_key=user.email
+        (cluster.id, send_report_url, user.email)
     )
     return {
         "cluster_id": cluster.id,
diff --git a/compass/db/api/host.py b/compass/db/api/host.py
index 15e0bb61..c82f3f8c 100644
--- a/compass/db/api/host.py
+++ b/compass/db/api/host.py
@@ -28,7 +28,7 @@ from compass.db import models
 from compass.utils import util
 
 
-SUPPORTED_FIELDS = ['name', 'os_name', 'owner', 'mac', 'id']
+SUPPORTED_FIELDS = ['name', 'os_name', 'owner', 'mac']
 SUPPORTED_MACHINE_HOST_FIELDS = [
     'mac', 'tag', 'location', 'os_name', 'os_id'
 ]
@@ -414,21 +414,12 @@ def del_host(
         logging.info(
             'send del host %s task to celery', host_id
         )
-        if not user:
-            user_id = host.creator_id
-            user_dict = user_api.get_user(user_id, session=session)
-            user_email = user_dict['email']
-        else:
-            user_email = user.email
         from compass.tasks import client as celery_client
         celery_client.celery.send_task(
             'compass.tasks.delete_host',
             (
                 user.email, host.id, cluster_ids
-            ),
-            queue=user_email,
-            exchange=user_email,
-            routing_key=user_email
+            )
         )
         return {
             'status': 'delete action sent',
@@ -658,11 +649,10 @@ def _add_host_network(
     """Add hostnetwork to a host."""
     host = _get_host(host_id, session=session)
     check_host_editable(host, user=user)
-    user_id = user.id
     return utils.add_db_object(
         session, models.HostNetwork,
         exception_when_existing,
-        host.id, interface, user_id, ip=ip, **kwargs
+        host.id, interface, ip=ip, **kwargs
     )
 
 
@@ -884,7 +874,6 @@ def update_host_state_internal(
     """
     # TODO(xicheng): should be merged into update_host_state
     host = _get_host(host_id, session=session)
-    logging.info("======host state: %s", host.state)
     if 'ready' in kwargs and kwargs['ready'] and not host.state.ready:
         ready_triggered = True
     else:
@@ -923,22 +912,13 @@ def update_host_state_internal(
                 )
         status = '%s state is updated' % host.name
     else:
-        if not user:
-            user_id = host.creator_id
-            user_dict = user_api.get_user(user_id, session=session)
-            user_email = user_dict['email']
-        else:
-            user_email = user.email
         from compass.tasks import client as celery_client
         celery_client.celery.send_task(
             'compass.tasks.os_installed',
             (
                 host.id, clusterhosts_ready,
                 clusters_os_ready
-            ),
-            queue=user_email,
-            exchange=user_email,
-            routing_key=user_email
+            )
         )
         status = '%s: clusterhosts ready %s clusters os ready %s' % (
             host.name, clusterhosts_ready, clusters_os_ready
@@ -1031,18 +1011,9 @@ def poweron_host(
     from compass.tasks import client as celery_client
     host = _get_host(host_id, session=session)
     check_host_validated(host)
-    if not user:
-        user_id = host.creator_id
-        user_dict = user_api.get_user(user_id, session=session)
-        user_email = user_dict['email']
-    else:
-        user_email = user.email
     celery_client.celery.send_task(
         'compass.tasks.poweron_host',
-        (host.id,),
-        queue=user_email,
-        exchange=user_email,
-        routing_key=user_email
+        (host.id,)
     )
     return {
         'status': 'poweron %s action sent' % host.name,
@@ -1066,18 +1037,9 @@ def poweroff_host(
     from compass.tasks import client as celery_client
     host = _get_host(host_id, session=session)
     check_host_validated(host)
-    if not user:
-        user_id = host.creator_id
-        user_dict = user_api.get_user(user_id, session=session)
-        user_email = user_dict['email']
-    else:
-        user_email = user.email
     celery_client.celery.send_task(
         'compass.tasks.poweroff_host',
-        (host.id,),
-        queue=user_email,
-        exchange=user_email,
-        routing_key=user_email
+        (host.id,)
     )
     return {
         'status': 'poweroff %s action sent' % host.name,
@@ -1101,18 +1063,9 @@ def reset_host(
     from compass.tasks import client as celery_client
     host = _get_host(host_id, session=session)
     check_host_validated(host)
-    if not user:
-        user_id = host.creator_id
-        user_dict = user_api.get_user(user_id, session=session)
-        user_email = user_dict['email']
-    else:
-        user_email = user.email
     celery_client.celery.send_task(
         'compass.tasks.reset_host',
-        (host.id,),
-        queue=user_email,
-        exchange=user_email,
-        routing_key=user_email
+        (host.id,)
     )
     return {
         'status': 'reset %s action sent' % host.name,
diff --git a/compass/db/api/machine.py b/compass/db/api/machine.py
index b7b16b2d..9a8d3eac 100644
--- a/compass/db/api/machine.py
+++ b/compass/db/api/machine.py
@@ -226,18 +226,9 @@ def poweron_machine(
     machine = _get_machine(
         machine_id, session=session
     )
-    if not user:
-        user_id = machine.owner_id
-        user_dict = user_api.get_user(user_id, session=session)
-        user_email = user_dict['email']
-    else:
-        user_email = user.email
     celery_client.celery.send_task(
         'compass.tasks.poweron_machine',
-        (machine_id,),
-        queue=user_email,
-        exchange=user_email,
-        routing_key=user_email
+        (machine_id,)
     )
     return {
         'status': 'poweron %s action sent' % machine.mac,
@@ -262,18 +253,9 @@ def poweroff_machine(
     machine = _get_machine(
         machine_id, session=session
     )
-    if not user:
-        user_id = machine.owner_id
-        user_dict = user_api.get_user(user_id, session=session)
-        user_email = user_dict['email']
-    else:
-        user_email = user.email
     celery_client.celery.send_task(
         'compass.tasks.poweroff_machine',
-        (machine_id,),
-        queue=user_email,
-        exchange=user_email,
-        routing_key=user_email
+        (machine_id,)
     )
     return {
         'status': 'poweroff %s action sent' % machine.mac,
@@ -298,18 +280,9 @@ def reset_machine(
     machine = _get_machine(
         machine_id, session=session
     )
-    if not user:
-        user_id = machine.owner_id
-        user_dict = user_api.get_user(user_id, session=session)
-        user_email = user_dict['email']
-    else:
-        user_email = user.email
     celery_client.celery.send_task(
         'compass.tasks.reset_machine',
-        (machine_id,),
-        queue=user_email,
-        exchange=user_email,
-        routing_key=user_email
+        (machine_id,)
     )
     return {
         'status': 'reset %s action sent' % machine.mac,
diff --git a/compass/db/api/switch.py b/compass/db/api/switch.py
index 647eec0d..4c7c8e59 100644
--- a/compass/db/api/switch.py
+++ b/compass/db/api/switch.py
@@ -30,11 +30,10 @@ from compass.utils import util
 SUPPORTED_FIELDS = ['ip_int', 'vendor', 'state']
 SUPPORTED_FILTER_FIELDS = ['ip_int', 'vendor', 'state']
 SUPPORTED_SWITCH_MACHINES_FIELDS = [
-    'switch_ip_int', 'port', 'vlans', 'mac', 'tag', 'location',
-    'owner_id'
+    'switch_ip_int', 'port', 'vlans', 'mac', 'tag', 'location'
 ]
 SUPPORTED_MACHINES_FIELDS = [
-    'port', 'vlans', 'mac', 'tag', 'location', 'owner_id'
+    'port', 'vlans', 'mac', 'tag', 'location'
 ]
 SUPPORTED_SWITCH_MACHINES_HOSTS_FIELDS = [
     'switch_ip_int', 'port', 'vlans', 'mac',
@@ -58,7 +57,7 @@ UPDATED_FILTERS_FIELDS = ['put_machine_filters']
 PATCHED_FILTERS_FIELDS = ['patched_machine_filters']
 ADDED_MACHINES_FIELDS = ['mac']
 OPTIONAL_ADDED_MACHINES_FIELDS = [
-    'ipmi_credentials', 'tag', 'location', 'owner_id'
+    'ipmi_credentials', 'tag', 'location'
 ]
 ADDED_SWITCH_MACHINES_FIELDS = ['port']
 OPTIONAL_ADDED_SWITCH_MACHINES_FIELDS = ['vlans']
@@ -66,7 +65,7 @@ UPDATED_MACHINES_FIELDS = [
     'ipmi_credentials',
     'tag', 'location'
 ]
-UPDATED_SWITCH_MACHINES_FIELDS = ['port', 'vlans', 'owner_id']
+UPDATED_SWITCH_MACHINES_FIELDS = ['port', 'vlans']
 PATCHED_MACHINES_FIELDS = [
     'patched_ipmi_credentials',
     'patched_tag', 'patched_location'
@@ -84,7 +83,7 @@ RESP_ACTION_FIELDS = [
 ]
 RESP_MACHINES_FIELDS = [
     'id', 'switch_id', 'switch_ip', 'machine_id', 'switch_machine_id',
-    'port', 'vlans', 'mac', 'owner_id',
+    'port', 'vlans', 'mac',
     'ipmi_credentials', 'tag', 'location',
     'created_at', 'updated_at'
 ]
@@ -591,8 +590,6 @@ def list_switch_machines(
     switch_machines = utils.list_db_objects(
         session, models.SwitchMachine, switch_id=switch.id, **filters
     )
-    if not user.is_admin and len(switch_machines):
-        switch_machines = [m for m in switch_machines if m.machine.owner_id == user.id]
     return _filter_switch_machines(switch_machines)
 
 
@@ -653,8 +650,6 @@ def list_switchmachines_hosts(user=None, session=None, **filters):
     switch_machines = utils.list_db_objects(
         session, models.SwitchMachine, **filters
     )
-    if not user.is_admin and len(switch_machines):
-        switch_machines = [m for m in switch_machines if m.machine.owner_id == user.id]
     return _filter_switch_machines_hosts(
         switch_machines
     )
@@ -681,14 +676,13 @@ def _add_machine_if_not_exist(mac=None, session=None, **kwargs):
 @utils.input_validates(vlans=_check_vlans)
 def _add_switch_machine_only(
     switch, machine, exception_when_existing=True,
-    session=None, owner_id=None, port=None, **kwargs
+    session=None, port=None, **kwargs
 ):
     """add a switch machine."""
     return utils.add_db_object(
         session, models.SwitchMachine,
         exception_when_existing,
         switch.id, machine.id, port=port,
-        owner_id=owner_id,
         **kwargs
     )
 
@@ -704,7 +698,7 @@ def _add_switch_machine_only(
 @utils.wrap_to_dict(RESP_MACHINES_FIELDS)
 def _add_switch_machine(
     switch_id, exception_when_existing=True,
-    mac=None, port=None, session=None, owner_id=None, **kwargs
+    mac=None, port=None, session=None, **kwargs
 ):
     """Add switch machine.
 
@@ -713,7 +707,7 @@ def _add_switch_machine(
     """
     switch = _get_switch(switch_id, session=session)
     machine = _add_machine_if_not_exist(
-        mac=mac, session=session, owner_id=owner_id, **kwargs
+        mac=mac, session=session, **kwargs
     )
     return _add_switch_machine_only(
         switch, machine,
@@ -728,14 +722,13 @@ def _add_switch_machine(
 )
 def add_switch_machine(
     switch_id, exception_when_existing=True,
-    mac=None, user=None, session=None,
-    owner_id=None, **kwargs
+    mac=None, user=None, session=None, **kwargs
 ):
     """Add switch machine to a switch."""
     return _add_switch_machine(
         switch_id,
         exception_when_existing=exception_when_existing,
-        mac=mac, session=session, owner_id=owner_id, **kwargs
+        mac=mac, session=session, **kwargs
     )
 
 
@@ -754,7 +747,7 @@ def add_switch_machine(
 )
 def add_switch_machines(
     exception_when_existing=False,
-    data=[], user=None, session=None, owner_id=None
+    data=[], user=None, session=None
 ):
     """Add switch machines."""
     switch_machines = []
@@ -824,7 +817,7 @@ def add_switch_machines(
                 switch_machines.append(_add_switch_machine_only(
                     switch_object, machine_object,
                     exception_when_existing,
-                    session=session, owner_id=owner_id, **machine
+                    session=session, **machine
                 ))
     return {
         'switches_machines': switch_machines,
@@ -845,10 +838,7 @@ def poll_switch(switch_id, user=None, session=None, **kwargs):
     switch = _get_switch(switch_id, session=session)
     celery_client.celery.send_task(
         'compass.tasks.pollswitch',
-        (user.email, switch.ip, switch.credentials),
-        queue=user.email,
-        exchange=user.email,
-        routing_key=user.email
+        (user.email, switch.ip, switch.credentials)
     )
     return {
         'status': 'action %s sent' % kwargs,
@@ -1126,8 +1116,7 @@ def _add_machine_to_switch(
         machine_id, session=session
     )
     _add_switch_machine_only(
-        switch, machine, False,
-        owner_id=machine.owner_id, **kwargs
+        switch, machine, False, **kwargs
     )
 
 
diff --git a/compass/db/models.py b/compass/db/models.py
index d4b0324d..2063d03d 100644
--- a/compass/db/models.py
+++ b/compass/db/models.py
@@ -204,20 +204,17 @@ class HostNetwork(BASE, TimestampMixin, HelperMixin):
         Integer,
         ForeignKey('subnet.id', onupdate='CASCADE', ondelete='CASCADE')
     )
-    user_id = Column(Integer, ForeignKey('user.id'))
-    ip_int = Column(BigInteger, nullable=False)
+    ip_int = Column(BigInteger, unique=True, nullable=False)
     is_mgmt = Column(Boolean, default=False)
     is_promiscuous = Column(Boolean, default=False)
 
     __table_args__ = (
-        UniqueConstraint('host_id', 'interface', name='interface_constraint'),
-        UniqueConstraint('ip_int', 'user_id', name='ip_constraint')
+        UniqueConstraint('host_id', 'interface', name='constraint'),
     )
 
-    def __init__(self, host_id, interface, user_id, **kwargs):
+    def __init__(self, host_id, interface, **kwargs):
         self.host_id = host_id
         self.interface = interface
-        self.user_id = user_id
         super(HostNetwork, self).__init__(**kwargs)
 
     def __str__(self):
@@ -268,7 +265,6 @@ class HostNetwork(BASE, TimestampMixin, HelperMixin):
         dict_info['interface'] = self.interface
         dict_info['netmask'] = self.netmask
         dict_info['subnet'] = self.subnet.subnet
-        dict_info['user_id'] = self.user_id
         return dict_info
 
 
@@ -706,7 +702,7 @@ class Host(BASE, TimestampMixin, HelperMixin):
     """Host table."""
     __tablename__ = 'host'
 
-    name = Column(String(80), nullable=True)
+    name = Column(String(80), unique=True, nullable=True)
     config_step = Column(String(80), default='')
     os_config = Column(JSONEncoded, default={})
     config_validated = Column(Boolean, default=False)
@@ -716,10 +712,6 @@ class Host(BASE, TimestampMixin, HelperMixin):
     owner = Column(String(80))
     os_installer = Column(JSONEncoded, default={})
 
-    __table_args__ = (
-        UniqueConstraint('name', 'owner', name='constraint'),
-    )
-
     id = Column(
         Integer,
         ForeignKey('machine.id', onupdate='CASCADE', ondelete='CASCADE'),
@@ -980,7 +972,7 @@ class Cluster(BASE, TimestampMixin, HelperMixin):
     __tablename__ = 'cluster'
 
     id = Column(Integer, primary_key=True)
-    name = Column(String(80), nullable=False)
+    name = Column(String(80), unique=True, nullable=False)
     reinstall_distributed_system = Column(Boolean, default=True)
     config_step = Column(String(80), default='')
     os_name = Column(String(80))
@@ -1008,13 +1000,9 @@ class Cluster(BASE, TimestampMixin, HelperMixin):
         cascade='all, delete-orphan',
         backref=backref('cluster')
     )
-    __table_args__ = (
-        UniqueConstraint('name', 'creator_id', name='constraint'),
-    )
 
-    def __init__(self, name, creator_id, **kwargs):
+    def __init__(self, name, **kwargs):
         self.name = name
-        self.creator_id = creator_id
         self.state = ClusterState()
         super(Cluster, self).__init__(**kwargs)
 
@@ -1369,7 +1357,6 @@ class SwitchMachine(BASE, HelperMixin, TimestampMixin):
         Integer,
         ForeignKey('machine.id', onupdate='CASCADE', ondelete='CASCADE')
     )
-    owner_id = Column(Integer, ForeignKey('user.id'))
     port = Column(String(80), nullable=True)
     vlans = Column(JSONEncoded, default=[])
     __table_args__ = (
diff --git a/compass/deployment/installers/os_installers/cobbler/cobbler.py b/compass/deployment/installers/os_installers/cobbler/cobbler.py
index 9c2a9359..302c9be2 100644
--- a/compass/deployment/installers/os_installers/cobbler/cobbler.py
+++ b/compass/deployment/installers/os_installers/cobbler/cobbler.py
@@ -232,7 +232,7 @@ class CobblerInstaller(OSInstaller):
             err_msg = "Template '%s' does not exists!" % tmpl_path
             logging.error(err_msg)
             raise Exception(err_msg)
-        host_vars_dict[const.BASEINFO]['host_id'] = host_id
+
         system_config = self.get_config_from_template(tmpl_path,
                                                       host_vars_dict)
 
diff --git a/compass/utils/celeryconfig_wrapper.py b/compass/utils/celeryconfig_wrapper.py
index b6644ba5..6b477771 100644
--- a/compass/utils/celeryconfig_wrapper.py
+++ b/compass/utils/celeryconfig_wrapper.py
@@ -18,15 +18,13 @@
 """
 import logging
 import os.path
-import urllib
 
 from compass.utils import setting_wrapper as setting
 
 
-# CELERY_RESULT_BACKEND = 'amqp://'
-
-# BROKER_URL = 'amqp://guest:guest@localhost:5672//'
+CELERY_RESULT_BACKEND = 'amqp://'
 
+BROKER_URL = 'amqp://guest:guest@localhost:5672//'
 
 CELERY_IMPORTS = ('compass.tasks.tasks',)
 
diff --git a/conf/celeryconfig_local b/conf/celeryconfig
similarity index 52%
rename from conf/celeryconfig_local
rename to conf/celeryconfig
index 8dfd1cc7..f4911279 100644
--- a/conf/celeryconfig_local
+++ b/conf/celeryconfig
@@ -1,12 +1,9 @@
-## Celery related setting: this is the default setting
+## Celery related setting: this is the default setting once we install RabbitMQ
 
 CELERY_RESULT_BACKEND ="amqp://"
-BROKER_URL = "amqp://guest:guest@localhost:5672//"
 
+BROKER_URL = "amqp://guest:guest@localhost:5672//"
 
 CELERY_IMPORTS=("compass.tasks.tasks",)
 CELERY_ACCEPT_CONTENT = ['pickle', 'json', 'msgpack', 'yaml']
 C_FORCE_ROOT = 1
-CELERY_DEFAULT_QUEUE = 'admin@huawei.com'
-CELERY_DEFAULT_EXCHANGE = 'admin@huawei.com'
-CELERY_DEFAULT_ROUTING_KEY = 'admin@huawei.com'
diff --git a/conf/celeryconfig_remote b/conf/celeryconfig_remote
deleted file mode 100644
index cda7ce17..00000000
--- a/conf/celeryconfig_remote
+++ /dev/null
@@ -1,16 +0,0 @@
-## Celery related setting: this is the default setting
-import urllib
-
-#CELERY_RESULT_BACKEND ="amqp://"
-#BROKER_URL = "amqp://guest:guest@www.stack360.io:5672//"
-
-BROKER_TRANSPORT = 'sqs'
-BROKER_URL = 'sqs://%s:%s@' % (urllib.quote(ACCESS_ID, safe=''),
-                               urllib.quote(ACCESS_KEY, safe=''))
-
-CELERY_IMPORTS=("compass.tasks.tasks",)
-CELERY_ACCEPT_CONTENT = ['pickle', 'json', 'msgpack', 'yaml']
-C_FORCE_ROOT = 1
-CELERY_DEFAULT_QUEUE = 'admin@huawei.com'
-CELERY_DEFAULT_EXCHANGE = 'admin@huawei.com'
-CELERY_DEFAULT_ROUTING_KEY = 'admin@huawei.com'
diff --git a/conf/setting b/conf/setting
index 481db89f..a1e9bff2 100644
--- a/conf/setting
+++ b/conf/setting
@@ -2,7 +2,7 @@ CONFIG_DIR = '/etc/compass'
 DATABASE_TYPE = 'mysql'
 DATABASE_USER = 'root'
 DATABASE_PASSWORD = 'root'
-DATABASE_SERVER = 'www.stack360.io:3306'
+DATABASE_SERVER = '127.0.0.1:3306'
 DATABASE_NAME = 'compass'
 SQLALCHEMY_DATABASE_URI = '%s://%s:%s@%s/%s' % (DATABASE_TYPE, DATABASE_USER, DATABASE_PASSWORD, DATABASE_SERVER, DATABASE_NAME)
 SQLALCHEMY_DATABASE_POOL_TYPE = 'instant'
diff --git a/conf/templates/ansible_installer/openstack_mitaka/vars/HA-ansible-multinodes.tmpl b/conf/templates/ansible_installer/openstack_mitaka/vars/HA-ansible-multinodes.tmpl
index 1427bbcb..1f2eb1e0 100644
--- a/conf/templates/ansible_installer/openstack_mitaka/vars/HA-ansible-multinodes.tmpl
+++ b/conf/templates/ansible_installer/openstack_mitaka/vars/HA-ansible-multinodes.tmpl
@@ -113,10 +113,8 @@ ERLANG_TOKEN: YOWSJSJIGGAUFZTIBRAD
 #set neutron_pass = $console_credentials.network.password
 #set ceilometer_dbpass = $credentials.metering.password
 #set ceilometer_pass = $console_credentials.metering.password
-##set aodh_dbpass = $credentials.alarming.password
-#set aodh_dbpass = "alarming"
-##set aodh_pass = $console_credentials.alarming.password
-#set aodh_pass = "alarming"
+#set aodh_dbpass = $credentials.alarming.password
+#set aodh_pass = $console_credentials.alarming.password
 #set admin_pass = $console_credentials.admin.password
 #set demo_pass = $console_credentials.demo.password
 
diff --git a/conf/templates/cobbler/CentOS-7-Minimal-1511-x86_64/system.tmpl b/conf/templates/cobbler/CentOS-7-Minimal-1511-x86_64/system.tmpl
index e2032988..8e4cbbbe 100644
--- a/conf/templates/cobbler/CentOS-7-Minimal-1511-x86_64/system.tmpl
+++ b/conf/templates/cobbler/CentOS-7-Minimal-1511-x86_64/system.tmpl
@@ -71,7 +71,6 @@
         "timezone": "$timezone",
         "ignore_proxy": "$no_proxy",
         "local_repo": "$getVar('local_repo', '')",
-        "disk_num": "1",
-        "host_id": "$getVar('host_id', int())"
+        "disk_num": "1"
     }
 }
diff --git a/conf/templates/cobbler/CentOS-7.0-x86_64/system.tmpl b/conf/templates/cobbler/CentOS-7.0-x86_64/system.tmpl
index e2032988..8e4cbbbe 100644
--- a/conf/templates/cobbler/CentOS-7.0-x86_64/system.tmpl
+++ b/conf/templates/cobbler/CentOS-7.0-x86_64/system.tmpl
@@ -71,7 +71,6 @@
         "timezone": "$timezone",
         "ignore_proxy": "$no_proxy",
         "local_repo": "$getVar('local_repo', '')",
-        "disk_num": "1",
-        "host_id": "$getVar('host_id', int())"
+        "disk_num": "1"
     }
 }
diff --git a/conf/templates/cobbler/Ubuntu-14.04-x86_64/system.tmpl b/conf/templates/cobbler/Ubuntu-14.04-x86_64/system.tmpl
index 3e46a110..cfcc883e 100644
--- a/conf/templates/cobbler/Ubuntu-14.04-x86_64/system.tmpl
+++ b/conf/templates/cobbler/Ubuntu-14.04-x86_64/system.tmpl
@@ -70,7 +70,6 @@
         "timezone": "$timezone",
         "ignore_proxy": "$no_proxy",
         "local_repo": "$getVar('local_repo', '')",
-        "disk_num": "1",
-        "host_id": "$getVar('host_id', int())"
+        "disk_num": "1"
     }
 }
diff --git a/conf/templates/cobbler/ubuntu-14.04.3-server-x86_64/system.tmpl b/conf/templates/cobbler/ubuntu-14.04.3-server-x86_64/system.tmpl
index 3e46a110..cfcc883e 100644
--- a/conf/templates/cobbler/ubuntu-14.04.3-server-x86_64/system.tmpl
+++ b/conf/templates/cobbler/ubuntu-14.04.3-server-x86_64/system.tmpl
@@ -70,7 +70,6 @@
         "timezone": "$timezone",
         "ignore_proxy": "$no_proxy",
         "local_repo": "$getVar('local_repo', '')",
-        "disk_num": "1",
-        "host_id": "$getVar('host_id', int())"
+        "disk_num": "1"
     }
 }
diff --git a/install/ansible.sh b/install/ansible.sh
index b48db5ff..6010221f 100755
--- a/install/ansible.sh
+++ b/install/ansible.sh
@@ -13,9 +13,7 @@ fi
 source $DIR/install_func.sh
 
 echo "INstalling ansible related packages"
-# sudo yum -y install ansible
-pip install ansible==1.9.2
-pip install python-keyczar
+sudo yum -y install ansible
 if [[ "$?" != "0" ]]; then
     echo "Failed to install ansible"
     exit 1
@@ -27,7 +25,7 @@ sudo cp -rn /var/ansible/* /root/backup/ansible/
 
 for i in `ls $ADAPTERS_HOME/ansible/ | grep "openstack_"`; do
     mkdir -p /var/ansible/$i
-    cp -rf $ADAPTERS_HOME/ansible/openstack/* /var/ansible/$i
+#    cp -rf $ADAPTERS_HOME/ansible/openstack/* /var/ansible/$i
     cp -rf $ADAPTERS_HOME/ansible/$i /var/ansible/
 done
 
diff --git a/install/cobbler.sh b/install/cobbler.sh
index 6c88f4dc..d505ae93 100755
--- a/install/cobbler.sh
+++ b/install/cobbler.sh
@@ -13,7 +13,7 @@ fi
 source $DIR/install_func.sh
 
 echo "Installing cobbler related packages"
-sudo yum --enablerepo=compass_install --nogpgcheck -y install cobbler cobbler-web createrepo mkisofs python-cheetah python-simplejson python-urlgrabber PyYAML Django corosync pykickstart
+sudo yum -y install cobbler cobbler-web createrepo mkisofs python-cheetah python-simplejson python-urlgrabber PyYAML Django corosync pykickstart
 sudo yum -y upgrade yum-utils
 if [[ "$?" != "0" ]]; then
     echo "failed to install cobbler related packages"
diff --git a/install/compass.sh b/install/compass.sh
index 9fc0dd62..0ecfafd2 100755
--- a/install/compass.sh
+++ b/install/compass.sh
@@ -28,8 +28,6 @@ sudo rm -rf /var/www/compass/*
 
 sudo cp -rf $COMPASSDIR/misc/apache/ods-server.conf /etc/httpd/conf.d/ods-server.conf
 sudo cp -rf $COMPASSDIR/misc/apache/http_pip.conf /etc/httpd/conf.d/http_pip.conf
-sudo cp -rf $COMPASSDIR/misc/apache/images.conf /etc/httpd/conf.d/images.conf
-sudo cp -rf $COMPASSDIR/misc/apache/packages.conf /etc/httpd/conf.d/packages.conf
 sudo cp -rf $COMPASSDIR/conf/* /etc/compass/
 sudo cp -rf $COMPASSDIR/service/* /etc/init.d/
 sudo cp -rf $COMPASSDIR/bin/*.py /opt/compass/bin/
@@ -42,11 +40,6 @@ sudo ln -s -f /opt/compass/bin/compass_wsgi.py /var/www/compass/compass.wsgi
 sudo cp -rf $COMPASSDIR/bin/chef/* /opt/compass/bin/
 sudo cp -rf $COMPASSDIR/bin/cobbler/* /opt/compass/bin/
 
-if [ "$FULL_COMPASS_SERVER" == "false" ]; then
-    sudo rm -rf /opt/compass/bin/refresh.sh
-    sudo rm -rf /opt/compass/bin/refresh_server.sh
-fi
-
 if [[ $SUPPORT_CENTOS_7_2 != "y" ]]; then
     sudo rm -f /etc/compass/os/centos7.0.conf
 fi
@@ -64,7 +57,6 @@ if [ ! -f /usr/lib64/libcrypto.so ]; then
 fi
 
 download -u "$PIP_PACKAGES"  `basename $PIP_PACKAGES` unzip /var/www/ || exit $?
-download -u "$EXTRA_PACKAGES" `basename $EXTRA_PACKAGES` unzip /var/www/ || exit $?
 
 sudo mkdir -p /opt/compass/db
 sudo chmod -R 777 /opt/compass/db
@@ -93,11 +85,6 @@ sudo sed -i "s/\$hostname/$HOSTNAME/g" /etc/compass/setting
 sudo sed -i "s/\$gateway/$OPTION_ROUTER/g" /etc/compass/setting
 domains=$(echo $NAMESERVER_DOMAINS | sed "s/,/','/g")
 sudo sed -i "s/\$domains/$domains/g" /etc/compass/setting
-if [ "$FULL_COMPASS_SERVER" == "true" ]; then
-    sudo sed -i "/DATABASE_SERVER =/c\DATABASE_SERVER = '127.0.0.1:3306'" /etc/compass/setting
-else
-    sudo sed -i "/DATABASE_SERVER =/c\DATABASE_SERVER = '\$COMPASS_API_SERVER:3306'" /etc/compass/setting
-fi 
 
 sudo sed -i "s/\$cobbler_ip/$IPADDR/g" /etc/compass/os_installer/cobbler.conf
 #sudo sed -i "s/\$chef_ip/$IPADDR/g" /etc/compass/package_installer/chef-icehouse.conf
@@ -130,29 +117,11 @@ else
     echo "redis is not running"
     exit 1
 fi
-if [ "$FULL_COMPASS_SERVER" == "true" ]; then
-    sudo mv /etc/compass/celeryconfig_local /etc/compass/celeryconfig
-elif [ "$COMPASS_API_SERVER" != "c.stack360.io" ];then
-    sudo mv /etc/compass/celeryconfig_local /etc/compass/celeryconfig
-    sudo sed -i "s/localhost/\$COMPASS_API_SERVER/g" /etc/compass/celeryconfig
-else
-    sudo mv /etc/compass/celeryconfig_remote /etc/compass/celeryconfig
-    wget -O /tmp/aws_credentials "http://www.stack360.io/aws_credentials"
-    filename='/tmp/aws_credentials'
-    id=$(sed -n '1p' < $filename)
-    key=$(sed -n '2p' < $filename)
-    sudo sed -i "s~ACCESS_ID~$id~g" /etc/compass/celeryconfig
-    sudo sed -i "s~ACCESS_KEY~$key~g" /etc/compass/celeryconfig
-fi
+
 sudo systemctl enable compass-progress-updated.service
 sudo systemctl enable compass-celeryd.service
 
-if [ "$FULL_COMPASS_SERVER" == "true" ]; then
-    /opt/compass/bin/refresh.sh
-else
-    /opt/compass/bin/refresh_agent.sh
-fi
-
+/opt/compass/bin/refresh.sh
 if [[ "$?" != "0" ]]; then
     echo "failed to refresh compassd service"
     exit 1
@@ -176,23 +145,12 @@ else
     echo "redis has already started"
 fi
 
-if [ "$FULL_COMPASS_SERVER" == "true" ]; then
 sudo systemctl status mysql.service |grep running
 if [[ "$?" != "0" ]]; then
     echo "mysqld is not started"
     exit 1
 fi
 
-#sudo systemctl status compass-progress-updated.service |grep running
-#if [[ "$?" != "0" ]]; then
-#    echo "compass-progress-updated is not started"
-#    exit 1
-#else
-#    echo "compass-progress-updated has already started"
-#fi
-fi
-
-
 sudo systemctl status compass-celeryd.service |grep running
 if [[ "$?" != "0" ]]; then
     echo "compass-celeryd is not started"
@@ -201,6 +159,14 @@ else
     echo "compass-celeryd has already started"
 fi
 
+sudo systemctl status compass-progress-updated.service |grep running
+if [[ "$?" != "0" ]]; then
+    echo "compass-progress-updated is not started"
+    exit 1
+else
+    echo "compass-progress-updated has already started"
+fi
+
 sleep 10
 #compass check
 #if [[ "$?" != "0" ]]; then
diff --git a/install/dependency.sh b/install/dependency.sh
index fecfe507..b9a577c3 100755
--- a/install/dependency.sh
+++ b/install/dependency.sh
@@ -4,22 +4,17 @@ echo 'Installing Required packages for Compass...'
 sudo yum clean all
 sudo yum update -y --skip-broken
 if [ "$tempest" == "true" ]; then
-    sudo yum --enablerepo=compass_install install -y virt-install libvirt qemu-kvm libxml2-devel libffi-devel libxslt-devel python-devel sshpass openssl-devel --nogpgcheck
+    sudo yum install -y virt-install libvirt qemu-kvm libxml2-devel libffi-devel libxslt-devel python-devel sshpass openssl-devel
     if [[ "$?" != "0" ]]; then
         echo "failed to install tempest yum dependency"
         exit 1
     fi
 fi
 
-if [ "$FULL_COMPASS_SERVER" == "true" ]; then
-    sudo yum --enablerepo=compass_install install -y $MYSQL
-    sudo yum --enablerepo=compass_install --nogpgcheck install -y rsyslog logrotate ntp iproute openssh-clients python python-devel git wget syslinux amqp rabbitmq-server mod_wsgi httpd squid dhcp bind rsync yum-utils xinetd tftp-server gcc net-snmp-utils net-snmp net-snmp-python unzip openssl openssl098e ca-certificates mysql-devel mysql-server mysql MySQL-python python-virtualenv python-setuptools python-pip bc libselinux-python libffi-devel openssl-devel
-else
-    sudo yum --enablerepo=compass_install --nogpgcheck install -y rsyslog logrotate ntp iproute openssh-clients python python-devel git wget syslinux amqp httpd dhcp bind rsync yum-utils xinetd tftp-server gcc net-snmp-utils net-snmp net-snmp-python unzip openssl openssl098e ca-certificates mysql-devel mysql MySQL-python python-virtualenv python-setuptools python-pip bc libselinux-python libffi-devel openssl-devel
-fi
+sudo yum install -y $MYSQL
+sudo yum install -y rsyslog logrotate ntp iproute openssh-clients python python-devel git wget syslinux amqp rabbitmq-server mod_wsgi httpd squid dhcp bind rsync yum-utils xinetd tftp-server gcc net-snmp-utils net-snmp net-snmp-python unzip openssl openssl098e ca-certificates mysql-devel mysql-server mysql MySQL-python python-virtualenv python-setuptools python-pip bc libselinux-python libffi-devel openssl-devel
 sudo yum --setopt=tsflags=noscripts -y remove redis
-# sudo yum --enablerepo=remi,remi-test install -y redis
-sudo yum --enablerepo=compass_install --nogpgcheck install -y redis
+sudo yum --enablerepo=remi,remi-test install -y redis
 
 if [[ "$?" != "0" ]]; then
     echo "failed to install yum dependency"
@@ -61,7 +56,5 @@ sudo systemctl enable sshd.service
 sudo systemctl enable rsyslog.service
 sudo systemctl enable ntpd.service
 sudo systemctl enable redis.service
-if [ "$FULL_COMPASS_SERVER" == "true" ]; then
-    sudo systemctl enable mysqld.service
-    sudo systemctl enable rabbitmq-server.service
-fi
+sudo systemctl enable mysqld.service
+sudo systemctl enable rabbitmq-server.service
diff --git a/install/env.conf b/install/env.conf
deleted file mode 100755
index 3d69abad..00000000
--- a/install/env.conf
+++ /dev/null
@@ -1,14 +0,0 @@
-NIC=${NIC:-eth1}
-IPADDR=${IPADDR:-10.1.10.15}
-NETMASK=${NETMASK:-255.255.255.0}
-WEB_SOURCE=${WEB_SOURCE:-http://git.openstack.org/openstack/compass-web}
-ADAPTERS_SOURCE=${ADAPTERS_SOURCE:-https://gerrit.opnfv.org/gerrit/compass4nfv}
-OPTION_ROUTER=${OPTION_ROUTER:-10.1.10.15}
-NAMESERVER_DOMAINS=${NAMESERVER_DOMAINS:-ods.com}
-NAMESERVER_REVERSE_ZONES=${NAMESERVER_REVERSE_ZONES:-unused}
-NEXTSERVER=${NEXTSERVER:-10.1.10.15}
-IP_START=${IP_START:-10.1.10.100}
-IP_END=${IP_END:-10.1.10.200}
-LOCAL_REPO=${LOCAL_REPO:-}
-SUPPORT_CENTOS_7_2=${SUPPORT_CENTOS_7_2:-}
-SUPPORT_UBUNTU_14_04_03=${SUPPORT_UBUNTU_14_04_03:-}
diff --git a/install/install.conf b/install/install.conf
index c8f34c65..bfcf173b 100755
--- a/install/install.conf
+++ b/install/install.conf
@@ -1,119 +1,91 @@
 #####################################
 # Config File for Compass Installer #
 #####################################
-# Agent or Fullserver
-export FULL_COMPASS_SERVER="true"
-# User Email
-export USER_EMAIL="test@huawei.com"
-# User Password
-export USER_PASSWORD=
-# Compass Server Address, required if installing agent
-export COMPASS_API_SERVER="c.stack360.io"
 # OS_INSTALLER indicates the tool for OS provisioning, default is 'cobbler'.
-export OS_INSTALLER="cobbler"
+export OS_INSTALLER=${OS_INSTALLER:-cobbler}
 
 # PACKAGE_INSTALLER indicates the tool for Package provisioning, default is 'chef'.
-export PACKAGE_INSTALLER="package"
+export PACKAGE_INSTALLER=${PACKAGE_INSTALLER:-package}
 
 # set remi release url
 # export ATOMIC=${ATOMIC:-http://www6.atomicorp.com/channels/atomic/${IMAGE_TYPE,,}/${IMAGE_VERSION_MAJOR}/${IMAGE_ARCH}/RPMS/atomic-release-1.0-19.${IMAGE_TYPE_OTHER}${IMAGE_VERSION_MAJOR}.art.noarch.rpm}
 # export REMI=${REMI:-http://rpms.famillecollet.com/enterprise/remi-release-6.rpm}
-export REMI="http://rpms.famillecollet.com/enterprise/remi-release-7.rpm"
+export REMI=${REMI:-http://rpms.famillecollet.com/enterprise/remi-release-7.rpm}
 
-export EPEL="https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm"
+export EPEL=${EPEL:-https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm}
 
-export MYSQL="http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm"
+export MYSQL=${MYSQL:-http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm}
 
-export OPENSTACK_ANSIBLE_MODULE="https://github.com/openstack-ansible/openstack-ansible-modules.git"
+export OPENSTACK_ANSIBLE_MODULE=${OPENSTACK_ANSIBLE_MODULE:-https://github.com/openstack-ansible/openstack-ansible-modules.git}
+# service NIC
+export NIC=${NIC:-}
+export IPADDR=${IPADDR:-}
+export NETMASK=${NETMASK:-}
 
-# External network config for access remote compass server
-# External network NIC
-export PUBLIC_NIC="eth0"
-
-# External NIC IP address, use the IP assigned to PUBLIC_NIC by default
-export PUBLIC_IP=
-export PUBLIC_NETMASK=
-export PUBLIC_GATEWAY=
-
-# Install network config, it is a private network
-export NIC="eth1"
-export IPADDR="10.1.10.15"
-export NETMASK="255.255.255.0"
-
-# DHCP config for install network
+# DHCP config
 # DHCP option router  address(Default is your management interface IP address )"
-export OPTION_ROUTER="10.1.10.15"
+export OPTION_ROUTER=${OPTION_ROUTER:-}
 # The IP range for DHCP clients (Default: local subnet start from 100 to 254)
-export IP_START="10.1.10.100"
-export IP_END="10.1.10.200"
+export IP_START=${IP_START:-}
+export IP_END=${IP_END:-}
 # TFTP server's IP address(Default: Management Interface/eth0 IP)
-export NEXTSERVER="10.1.10.15"
-
-# The machines MAC list. it must be filled, any space or null is wrong in quotes:
-export switch_IP="127.0.0.1"
-export PXE_MACs=("port=300,mac=00:0c:29:8c:c3:b5"
-                 "port=301,mac=00:0c:29:87:79:9a"
-                 "port=302,mac=00:0c:29:73:74:41"
-                 "port=303,mac=00:0c:29:f9:eb:fd"
-                 "port=304,mac=00:0c:29:ac:e7:14")
+export NEXTSERVER=${NEXTSERVER:-}
 
 # the domains covered by nameserver
-export NAMESERVER_DOMAINS="ods.com"
-export NAMESERVER_REVERSE_ZONES="unused"
+export NAMESERVER_DOMAINS=${NAMESERVER_DOMAINS:-}
+export NAMESERVER_REVERSE_ZONES=${NAMESERVER_REVERSE_ZONES:-}
 
 # set the default cobbler user "cobbler" password, if not set, the default will be cobbler/cobbler
-export CBLR_USER=
-export CBLR_PASSWD=
+export CBLR_USER=${CBLR_USER:-}
+export CBLR_PASSWD=${CBLR_PASSWD:-}
 
 # set default local repo flag
-export LOCAL_REPO=
-export SUPPORT_CENTOS_7_2=
-export SUPPORT_UBUNTU_14_04_03=
+export LOCAL_REPO=${LOCAL_REPO:-}
+export SUPPORT_CENTOS_7_2=${SUPPORT_CENTOS_7_2:-}
+export SUPPORT_UBUNTU_14_04_03=${SUPPORT_UBUNTU_14_04_03:-}
 
-export IMAGE_TYPE="CentOS"
-export IMAGE_TYPE_OTHER="el"
-export IMAGE_VERSION_MAJOR="6"
-export IMAGE_VERSION_NINOR="5"
-export IMAGE_VERSION="${IMAGE_VERSION_MAJOR}.${IMAGE_VERSION_MINOR}"
-export IMAGE_NAME="${IMAGE_TYPE}-${IMAGE_VERSION}"
-export IMAGE_ARCH="x86_64"
+export IMAGE_TYPE=${IMAGE_TYPE:-"CentOS"}
+export IMAGE_TYPE_OTHER=${IMAGE_TYPE_OTHER:-"el"}
+export IMAGE_VERSION_MAJOR=${IMAGE_VERSION_MAJOR:-"6"}
+export IMAGE_VERSION_NINOR=${IMAGE_VERSION_MINOR:-"5"}
+export IMAGE_VERSION=${IMAGE_VERSION:-"${IMAGE_VERSION_MAJOR}.${IMAGE_VERSION_MINOR}"}
+export IMAGE_NAME=${IMAGE_NAME:-"${IMAGE_TYPE}-${IMAGE_VERSION}"}
+export IMAGE_ARCH=${IMAGE_ARCH:-"x86_64"}
 
-export CENTOS_7_2_IMAGE_SOURCE="http://205.177.226.237:9999/CentOS-7-x86_64-Minimal-1511.iso"
-export UBUNTU_14_04_03_IMAGE_SOURCE="http://205.177.226.237:9999/ubuntu-14.04.3-server-amd64.iso"
-export CENTOS_7_2_PPA_REPO_SOURCE="http://205.177.226.237:9999/centos7-juno-ppa.tar.gz"
-export UBUNTU_14_04_03_PPA_REPO_SOURCE="http://205.177.226.237:9999/trusty-mitaka-ppa.tar.gz"
-export PIP_PACKAGES="http://205.177.226.237:9999/pip.tar.gz"
-export EXTRA_PACKAGES="http://205.177.226.237:9999/packages.tar.gz"
+export CENTOS_7_2_IMAGE_SOURCE=${CENTOS_7_2_IMAGE_SOURCE:-"http://205.177.226.237:9999/CentOS-7-x86_64-Minimal-1511.iso"}
+export UBUNTU_14_04_03_IMAGE_SOURCE=${UBUNTU_14_04_03_IMAGE_SOURCE:-"http://205.177.226.237:9999/ubuntu-14.04.3-server-amd64.iso"}
+export CENTOS_7_2_PPA_REPO_SOURCE=${CENTOS_7_2_PPA_REPO_SOURCE:-"http://205.177.226.237:9999/centos7-juno-ppa.tar.gz"}
+export UBUNTU_14_04_03_PPA_REPO_SOURCE=${UBUNTU_14_04_03_PPA_REPO_SOURCE:-"http://205.177.226.237:9999/trusty-liberty-ppa.tar.gz"}
+export PIP_PACKAGES=${PIP_PACKAGES:-"http://205.177.226.237:9999/pip.tar.gz"}
 
-export COBBLER_PASSWORD="cobbler"
+export COBBLER_PASSWORD=${COBBLER_PASSWORD:-"cobbler"}
 
-export COBBLER_LOADERS_SOURCE="https://s3-us-west-1.amazonaws.com/compass-local-repo/loaders.tar.gz"
-export COBBLER_LOADERS_SOURCE_ASIA="http://huawei-repo.uubright.com/repos/compass/loaders.tar.gz"
+export COBBLER_LOADERS_SOURCE=${COBBLER_LOADERS_SOURCE:-"https://s3-us-west-1.amazonaws.com/compass-local-repo/loaders.tar.gz"}
+export COBBLER_LOADERS_SOURCE_ASIA=${COBBLER_LOADERS_SOURCE_ASIA:-"http://huawei-repo.uubright.com/repos/compass/loaders.tar.gz"}
 
 # Currently the use of Javascript MVC is set to version 3.2.4
-export JS_MVC="javascriptmvc-3.2.4"
+export JS_MVC=${JS_MVC:-"javascriptmvc-3.2.4"}
 
 # set the chef packages download path 
-export CHEF_SRV="http://opscode-omnibus-packages.s3.amazonaws.com/${IMAGE_TYPE_OTHER}/${IMAGE_VERSION_MAJOR}/${IMAGE_ARCH}/chef-server-11.0.8-1.${IMAGE_TYPE_OTHER}${IMAGE_VERSION_MAJOR}.${IMAGE_ARCH}.rpm"
-export CHEF_SRV_HUAWEI="http://huawei-repo.uubright.com/repos/compass/${IMAGE_TYPE_OTHER}/${IMAGE_VERSION_MAJOR}/${IMAGE_ARCH}/chef-server-11.0.8-1.${IMAGE_TYPE_OTHER}${IMAGE_VERSION_MAJOR}.${IMAGE_ARCH}.rpm"
-export CHEF_CLIENT="https://opscode-omnibus-packages.s3.amazonaws.com/${IMAGE_TYPE_OTHER}/${IMAGE_VERSION_MAJOR}/${IMAGE_ARCH}/chef-11.10.4-1.${IMAGE_TYPE_OTHER}${IMAGE_VERSION_MAJOR}.${IMAGE_ARCH}.rpm"
-export CHEF_CLIENT_HUAWEI="http://huawei-repo.uubright.com/repos/compass/${IMAGE_TYPE_OTHER}/${IMAGE_VERSION_MAJOR}/${IMAGE_ARCH}/chef-11.10.4-1.${IMAGE_TYPE_OTHER}${IMAGE_VERSION_MAJOR}.${IMAGE_ARCH}.rpm"
+export CHEF_SRV=${CHEF_SRV:-"http://opscode-omnibus-packages.s3.amazonaws.com/${IMAGE_TYPE_OTHER}/${IMAGE_VERSION_MAJOR}/${IMAGE_ARCH}/chef-server-11.0.8-1.${IMAGE_TYPE_OTHER}${IMAGE_VERSION_MAJOR}.${IMAGE_ARCH}.rpm"}
+export CHEF_SRV_HUAWEI=${CHEF_SRV_HUAWEI:-"http://huawei-repo.uubright.com/repos/compass/${IMAGE_TYPE_OTHER}/${IMAGE_VERSION_MAJOR}/${IMAGE_ARCH}/chef-server-11.0.8-1.${IMAGE_TYPE_OTHER}${IMAGE_VERSION_MAJOR}.${IMAGE_ARCH}.rpm"}
+export CHEF_CLIENT=${CHEF_CLIENT:-"https://opscode-omnibus-packages.s3.amazonaws.com/${IMAGE_TYPE_OTHER}/${IMAGE_VERSION_MAJOR}/${IMAGE_ARCH}/chef-11.10.4-1.${IMAGE_TYPE_OTHER}${IMAGE_VERSION_MAJOR}.${IMAGE_ARCH}.rpm"}
+export CHEF_CLIENT_HUAWEI=${CHEF_CLIENT_HUAWEI:-"http://huawei-repo.uubright.com/repos/compass/${IMAGE_TYPE_OTHER}/${IMAGE_VERSION_MAJOR}/${IMAGE_ARCH}/chef-11.10.4-1.${IMAGE_TYPE_OTHER}${IMAGE_VERSION_MAJOR}.${IMAGE_ARCH}.rpm"}
 
 # Set Chef password for Chef web UI
-export CHEF_PASSWD="root1234"
+export CHEF_PASSWD=${CHEF_PASSWD:-"root1234"}
 
 # Set Compass-web and Compass-adpater variables
-export WEB_HOME="/tmp/web"
-export ADAPTERS_HOME="/tmp/adapter"
-export WEB_SOURCE=
-export ADAPTERS_SOURCE=
+export WEB_HOME=${WEB_HOME:-'/tmp/web'}
+export ADAPTERS_HOME=${ADAPTERS_HOME:-'/tmp/adapter'}
+export WEB_SOURCE=${WEB_SOURCE:-}
+export ADAPTERS_SOURCE=${ADAPTERS_SOURCE:-}
 
 # Set compass environment
 export SCRIPT_DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
 export COMPASSDIR=${SCRIPT_DIR}/..
-export TESTMODE="False"
+export TESTMODE=${TESTMODE:-"False"}
 
 # Set Local Repo sources
-export LOCAL_REPO_US="https://s3-us-west-1.amazonaws.com/compass-local-repo"
-export LOCAL_REPO_HUAWEI="http://huawei-repo.uubright.com/repos/compass"
-
+export LOCAL_REPO_US=${LOCAL_REPO_US:-"https://s3-us-west-1.amazonaws.com/compass-local-repo"}
+export LOCAL_REPO_HUAWEI=${LOCAL_REPO_HUAWEI:-"http://huawei-repo.uubright.com/repos/compass"}
diff --git a/install/install.sh b/install/install.sh
index a29d5fe4..df4eb63f 100755
--- a/install/install.sh
+++ b/install/install.sh
@@ -1,6 +1,6 @@
 #!/bin/bash
 #
-#set -x
+
 ### Log the script all outputs locally
 exec > >(sudo tee install.log)
 exec 2>&1
@@ -48,7 +48,6 @@ _prepare_locking()
 _prepare_locking
 
 # PUBLIC
-
 exlock_now()
 {
     _lock xn || exit 1
@@ -60,93 +59,10 @@ if [[ "$?" != "0" ]]; then
     exit 1
 fi
 
-set_iptables()
-{
-  # external_ipaddr=$1; install_ipaddr=$2; install_netmask=$3
-
-  local argument_error="ERROR: argument ARG_NUM is invalidation that is for ARG_DESC"
-  local varnames=("3" "external_ipaddr" "install_ipaddr" "install_netmask")
-  if [ $# -lt ${varnames[0]} ];then
-    echo "ERROR: please input ${varnames[0]} arguments to call function _set_iptables()";exit 1
-  fi
-  local i=1
-  while [ $1 ];do
-    eval "${varnames[i]}"=$1
-    sudo ipcalc $1 -c
-    if [ $? -ne 0 ];then
-      echo ${argument_error} | sed 's/ARG_NUM/'"$i"'/g' | sed 's/ARG_DESC/g'"${varnames[i]}"'/g';exit 1
-    fi
-    let i++;shift
-  done
-
-  local install_netaddr=$(sudo ipcalc ${install_ipaddr} ${install_netmask} -n | awk -F = '{print $2}')
-  local install_netprefix=$(sudo ipcalc ${install_ipaddr} ${install_netmask} -p | awk -F = '{print $2}')
-
-  sudo sed -i '/^\s*net\.ipv4\.ip_forward\s*=/d' /etc/sysctl.conf
-  sudo sed -i '$a net.ipv4.ip_forward=1' /etc/sysctl.conf
-  sudo sysctl -p
-
-  sudo rpm -qa | grep iptables-services
-  if [ $? -ne 0  ]; then
-    sudo yum -y install iptables-services
-  fi
-
-  sudo /bin/systemctl status iptables.service
-  if [ $? -eq 0 ];then
-    sudo /usr/sbin/service iptables save
-    sudo /bin/systemctl stop iptables.service
-  fi
-
-  sudo mkdir /etc/sysconfig/iptables.bak.d 2>/dev/null
-  if [ -f /etc/sysconfig/iptables ];then
-    sudo mv -f /etc/sysconfig/iptables /etc/sysconfig/iptables.bak.d/$(uuidgen)
-  fi
-
-  iptables_config=" *filter\n
-                    :INPUT ACCEPT [0:0]\n
-                    :FORWARD ACCEPT [0:0]\n
-                    :OUTPUT ACCEPT [0:0]\n
-                    COMMIT\n
-                    *nat\n
-                    :PREROUTING ACCEPT [0:0]\n
-                    :INPUT ACCEPT [0:0]\n
-                    :OUTPUT ACCEPT [0:0]\n
-                    :POSTROUTING ACCEPT [0:0]\n
-                    -A POSTROUTING -s ${install_ipaddr}/32 -j ACCEPT\n
-                    -A POSTROUTING -s ${install_netaddr}/${install_netprefix} -j SNAT --to-source ${external_ipaddr}\n
-                    COMMIT\n"
-  sudo echo -e ${iptables_config} | sed 's/^\s*//g' > /etc/sysconfig/iptables
-
-  sudo /bin/systemctl enable iptables
-  sudo /bin/systemctl start iptables.service
-}
-
-# convert between ip address and integers
-ipaddr_to_int()
-{
-    ipaddr=$1
-    IFS=. read -r a b c d <<< "$ipaddr"
-    printf '%d\n' "$((a * 256 ** 3 + b * 256 ** 2 + c * 256 + d))"
-}
-int_to_ipaddr()
-{
-    ipint=$1
-    let a=ipint/$[256**3];let ipint%=$[256**3]
-    let b=ipint/$[256**2];let ipint%=$[256**2]
-    let c=ipint/256;let ipint%=256
-    let d=ipint
-    printf '%d.%d.%d.%d\n' $a $b $c $d
-}
-
-
-### BEGIN OF SCRIPT  
-
+### BEGIN OF SCRIPT ###
 DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
-
-### LOAD FILE CONFIGURATION
 source $DIR/install.conf
 
-
 ### Change selinux security policy
 sudo setenforce 0
 sudo sed -i 's/enforcing/disabled/g' /etc/selinux/config
@@ -200,129 +116,142 @@ fi
 
 # Install figlet
 sudo yum -y install figlet >& /dev/null
-# if [[ "$?" != "0" ]]; then
-#    echo "failed to install figlet"
-#    exit 1
-# else
-#    echo "figlet is installed"
-# fi
+if [[ "$?" != "0" ]]; then
+    echo "failed to install figlet"
+    exit 1
+else
+    echo "figlet is installed"
+fi
 figlet -ctf slant Compass Installer
 
 while [ $1 ]; do
   flags=$1
   param=${flags/'--'/''}
-  var=$(echo $param | awk -F = '{print $1}')
-  val=$(echo $param | awk -F = '{print $2}')
-  eval export $var=$val  
+  var=$(echo $param | cut -d"=" -f1)
+  val=$(echo $param | cut -d"=" -f2)
+  export $var=$val
   shift
 done
 
-yum update -y
-sudo rpm -qa | grep net-tools
-if [ $? -ne 0 ];then
-  yum -y install net-tools
-fi
+# convert ip address to int
+ipaddr_convert()
+{
+    ipaddr=$1
+    IFS=. read -r a b c d <<< "$ipaddr"
+    printf '%d\n' "$((a * 256 ** 3 + b * 256 ** 2 + c * 256 + d))"
+}
 
-# check the correct format of ip variables
-ip_vars="PUBLIC_IP PUBLIC_NETMASK PUBLIC_GATEWAY 
-         IPADDR NETMASK 
-         OPTION_ROUTER NEXTSERVER IP_START IP_END"
-for ip_var in ${ip_vars}; do
-  eval ip_val=\$${ip_var}
-  if [ ! -z ${ip_val} ];then
-    ipcalc ${ip_val} -c
-    if [ $? -ne 0 ];then
-      echo "The variable of '${ip_var}'='${ip_val}' is invalid."
-      exit 1
+# Load variables
+loadvars()
+{
+    varname=${1,,}
+    eval var=\$$(echo $1)
+
+    if [[ -z $var ]]; then
+        echo -e "\x1b[32mPlease enter the $varname (Example: $2):\x1b[37m"
+        while read input
+        do
+            if [ "$input" == "" ]; then
+                echo "Default $varname '$2' chosen"
+                export $(echo $1)="$2"
+                break
+            else
+                echo "You have entered $input"
+                export $(echo $1)="$input"
+                break
+            fi
+        done
     fi
-  fi
-done
-
-# public network variables:
-export PUBLIC_NIC=${PUBLIC_NIC:-"eth0"}
-export PUBLIC_IP=${PUBLIC_IP:-$(sudo ifconfig ${PUBLIC_NIC} | awk '($1=="inet"){print $2}')}
-export PUBLIC_GATEWAY=${PUBLIC_GATEWAY:-$(sudo route -n | awk '($1=="0.0.0.0" && $3=="0.0.0.0"){print $2}')}
-
-if [ -z ${PUBLIC_IP} ];then
-  echo "ERROR: There is not any PUBLIC_IP to be set yet, please assign an IP to PUBLIC_NIC or configure 'install.conf' first."
-  exit 1
-elif [ -z ${PUBLIC_GATEWAY} ];then
-  echo "WARNING: There is not any PUBLIC_GATEWAY, please ensure that the agent server can access remote compass center if no gateway."
-  sleep 2
-fi
-
-export PUBLIC_NETMASK=${PUBLIC_NETMASK:-$(sudo ifconfig ${PUBLIC_NIC} | awk '($3=="netmask"){print $4}')}
-export PUBLIC_NETMASK=${PUBLIC_NETMASK:-$(sudo ipcalc ${PUBLIC_IP} -m | awk -F = '{print $2}')}
-
-if [[ $(ipcalc ${PUBLIC_IP} ${PUBLIC_NETMASK} -n) != $(ipcalc ${PUBLIC_GATEWAY} ${PUBLIC_NETMASK} -n) ]];then
-  echo "ERROR: The PUBLIC_IP:${PUBLIC_IP} and PUBLIC_GATEWAY:${PUBLIC_GATEWAY} are not in the same subnet, please check the configuration."
-  exit 1
-fi
-
-sudo ifconfig ${PUBLIC_NIC} ${PUBLIC_IP} netmask ${PUBLIC_NETMASK} up
-
-if [ ! -z ${PUBLIC_GATEWAY} ];then
-  sudo route del -net 0.0.0.0/0
-  sudo route add -net 0.0.0.0/0 gw ${PUBLIC_GATEWAY}
-fi
-
-# install network variables:
-export NIC=${NIC:-"eth1"}
-export IPADDR=${IPADDR:-$(sudo ifconfig ${NIC} | awk '($1=="inet"){print $2}')}
-export IPADDR=${IPADDR:-"10.1.0.15"}
-export NETMASK=${NETMASK:-$(sudo ifconfig ${NIC} | awk '($3=="netmask"){print $4}')}
-export NETMASK=${NETMASK:-"255.255.255.0"}
-
-sudo ifconfig ${NIC} ${IPADDR} netmask ${NETMASK} up
-
-export OPTION_ROUTER=${OPTION_ROUTE:-${IPADDR}}
-export NEXTSERVER=${NEXTSERVER:-${IPADDR}}
-
-if [ -z ${IP_START} ];then
-  temp_int=$(ipaddr-to-int ${IPADDR})
-  let temp_int++
-  IP_START=$(int-to-ipaddr ${temp_int}) 
-fi
-export IP_START
-
-if [ -z ${IP_END} ];then
-  broad_addr=$(sudo ipcalc ${IPADDR} ${NETMASK} -b | awk -F = '{print $2}')
-  temp_int=$(ipadd-to-int ${broad_addr})
-  let temp_int--
-  IP_END=$(int-to-ipaddr ${temp_int})
-fi
-export IP_END
-
-# check the validation of IP_START and IP_END
-for ip_var in IP_START IP_END;do
-  if [[ $(eval ipcalc \$${ip_var} ${NETMASK} -n) != $(ipcalc ${IPADDR} ${NETMASK} -n) ]];then
-    eval echo "ERROR: The ${ip_var}:\$${ip_var} and install nic are not in the same subnet.";
+}
+yum -y install net-tools
+loadvars NIC "eth0"
+sudo ifconfig $NIC
+if [ $? -ne 0 ]; then
+    echo "There is no nic '$NIC' yet"
+    exit 1
+fi
+# sudo ifconfig $NIC | grep 'inet addr:' >& /dev/null
+sudo ifconfig $NIC |grep 'inet '| cut -d ' ' -f10 >& /dev/null
+if [ $? -ne 0 ]; then
+    echo "There is not any IP address assigned to the NIC '$NIC' yet, please assign an IP address first."
     exit 1
-  fi
-done
-ip_start_int=$(ipaddr_to_int ${IP_START})
-ip_end_int=$(ipaddr_to_int ${IP_END})
-let ip_range=${ip_end_int}-${ip_start_int}
-if [ ${ip_range} -le 0 ];then
-  echo "There is no avialable IPs between IP_START:'${IP_START}' and IP_END:'${IP_END}'."
-  exit 1
 fi
 
-# print all variables about IP
-for ip_var in ${ip_vars};do
-  eval echo "${ip_var}=\$${ip_var}"
-done
+export ipaddr=$(ifconfig $NIC | grep 'inet addr:' | cut -d: -f2 | awk '{ print $1}')
+echo " this line "
+if [ -z "$ipaddr" ]; then
+     export ipaddr=$(ifconfig $NIC | grep 'inet ' | sed 's/^[ \t]*//g' | sed 's/[ \t]\+/ /g' | cut -d' ' -f2)
+fi
+loadvars IPADDR ${ipaddr}
+ipcalc $IPADDR -c
+if [ $? -ne 0 ]; then
+    echo "ip addr $IPADDR format should be x.x.x.x"
+    exit 1
+fi
+export netmask=$(ifconfig $NIC | grep Mask | cut -d: -f4)
+if [ -z "$netmask" ]; then
+    export netmask=$(ifconfig $NIC | grep netmask | sed 's/^[ \t]*//g' | sed 's/[ \t]\+/ /g' | cut -d' ' -f4)
+fi
+loadvars NETMASK ${netmask}
+export netaddr=$(ipcalc $IPADDR $NETMASK -n |cut -f 2 -d '=')
+export netprefix=$(ipcalc $IPADDR $NETMASK -p |cut -f 2 -d '=')
+subnet=${netaddr}/${netprefix}
+ipcalc $subnet -c
+if [ $? -ne 0 ]; then
+    echo "subnet $subnet format should be x.x.x.x/x"
+    exit 1
+fi
+loadvars OPTION_ROUTER $(route -n | grep '^0.0.0.0' | xargs | cut -d ' ' -f 2)
+ipcalc $OPTION_ROUTER -c
+if [ $? -ne 0 ]; then
+    echo "router $OPTION_ROUTER format should be x.x.x.x"
+    exit 1
+fi
+export ip_start=$(echo "$IPADDR"|cut -f 1,2,3 -d '.')."100"
+export ip_end=$(echo "$IPADDR"|cut -f 1,2,3 -d '.')."250"
+loadvars IP_START "$ip_start"
+ipcalc $IP_START -c
+if [ $? -ne 0 ]; then
+    echo "ip start $IP_START format should be x.x.x.x"
+    exit 1
+else
+    echo "ip start address is $IP_START"
+fi
+ip_start_net=$(ipcalc $IP_START $NETMASK -n |cut -f 2 -d '=')
+if [[ "$ip_start_net" != "$netaddr" ]]; then
+    echo "ip start $IP_START is not in $subnet"
+    exit 1
+fi
+loadvars IP_END "$ip_end"
+ipcalc $IP_END -c
+if [ $? -ne 0 ]; then
+    echo "ip end $IP_END format should be x.x.x.x"
+    exit 1
+fi
+ip_end_net=$(ipcalc $IP_END $NETMASK -n |cut -f 2 -d '=')
+if [[ "$ip_end_net" != "$netaddr" ]]; then
+    echo "ip end $IP_END is not in $subnet"
+    exit 1
+fi
+ip_start_int=$(ipaddr_convert $IP_START)
+ip_end_int=$(ipaddr_convert $IP_END)
+let ip_range=${ip_end_int}-${ip_start_int}
+if [ $ip_range -le 0 ]; then
+    echo "there is no available ips to assign between $IP_START and $IP_END"
+    exit 1
+fi
+echo "there will be at most $ip_range hosts deployed."
+loadvars NEXTSERVER $IPADDR
+ipcalc $NEXTSERVER -c
+if [ $? -ne 0 ]; then
+    echo "next server $NEXTSERVER format should be x.x.x.x"
+    exit 1
+fi
 
-export NAMESERVER_DOMAINS=${NAMESERVER_DOMAINS:-"ods.com"}
-export NAMESERVER_REVERSE_ZONES=${NAMESERVER_REVERSE_ZONES:-"unused"}
-export WEB_SOURCE=${WEB_SOURCE:-"http://git.openstack.org/openstack/compass-web"}
-export ADAPTERS_SOURCE=${ADAPTERS_SOURCE:-"https://gerrit.opnfv.org/gerrit/compass4nfv"}
-
-echo "set the iptables' rules so that the openstack hosts installed can access remote compass through agent server"
-set_iptables ${PUBLIC_IP} ${IPADDR} ${NETMASK}
-
-rm -rf /etc/yum.repos.d/compass_install.repo 2>/dev/nullcp 
-cp ${COMPASSDIR}/misc/compass_install.repo /etc/yum.repos.d/
+loadvars NAMESERVER_DOMAINS "ods.com"
+loadvars NAMESERVER_REVERSE_ZONES "unused"
+loadvars WEB_SOURCE 'http://git.openstack.org/openstack/compass-web'
+loadvars ADAPTERS_SOURCE 'https://gerrit.opnfv.org/gerrit/compass4nfv'
 
 echo "script dir: $SCRIPT_DIR"
 echo "compass dir is $COMPASSDIR"
@@ -343,66 +272,11 @@ echo "Install the Package Installer Tool"
 # source ${COMPASSDIR}/install/chef.sh || exit $?
 source ${COMPASSDIR}/install/ansible.sh || exit $?
 
-echo "Install log agent."
-source ${COMPASSDIR}/install/logstash-forwarder.sh || exit $?
-
-if [ "$FULL_COMPASS_SERVER" == "true" ]; then
-    echo "Download and install Compass Web"
-    source ${COMPASSDIR}/install/compass_web.sh || exit $?
-fi
+echo "Download and install Compass Web"
+source ${COMPASSDIR}/install/compass_web.sh || exit $?
 
 echo "Download and Setup Compass and related services"
 source ${COMPASSDIR}/install/compass.sh || exit $?
 
 figlet -ctf slant Installation Complete!
 echo -e "It takes\x1b[32m $SECONDS \x1b[0mseconds during the installation."
-
-if [ "$FULL_COMPASS_SERVER" == "false" ]; then
-    machine_list_conf="MACHINE_LIST = [ { '${switch_IP}': [ "
-    for host in ${PXE_MACs[@]}; do
-        port=$(echo ${host} | awk -F , '{print $1}' | awk -F = '{print $2}')
-        mac=$(echo ${host} | awk -F , '{print $2}' | awk -F = '{print $2}')
-        machine_list_conf="${machine_list_conf}${comma}\n{'port': '${port}', 'mac': '${mac}', 'vlan': '0'}"
-        comma=","
-    done
-    machine_list_conf="${machine_list_conf}\n ] } ]"
-    sudo echo -e ${machine_list_conf} > /etc/compass/machine_list/machine_list.conf
-
-#    rm -rf /var/ansible/roles/keystone/vars/Debian.yml 2>/dev/null
-#    cp ${COMPASSDIR}/misc/adapter_changes/Debian.yml /var/ansible/roles/keystone/vars/
-#    rm -rf /var/ansible/roles/keystone/tasks/keystone_install.yml 2>/dev/null
-#    cp ${COMPASSDIR}/misc/adapter_changes/keystone_install.yml /var/ansible/roles/keystone/tasks/
-#    rm -rf /var/ansible/openstack_mitaka/HA-ansible-multinodes.yml 2>/dev/null
-#    cp ${COMPASSDIR}/misc/adapter_changes/HA-ansible-multinodes.yml /var/ansible/openstack_mitaka/
-    rm -rf /var/lib/cobbler/snippets/preseed_post_anamon 2>/dev/null
-    cp ${COMPASSDIR}/misc/adapter_changes/preseed_post_anamon_remote /var/lib/cobbler/snippets/preseed_post_anamon
-else
-    rm -rf /var/lib/cobbler/snippets/preseed_post_anamon 2>/dev/null
-    cp ${COMPASSDIR}/misc/adapter_changes/preseed_post_anamon_local /var/lib/cobbler/snippets/preseed_post_anamon
-fi
-
-# sudo sed -i 's/^CELERY_DEFAULT_QUEUE.*/CELERY_DEFAULT_QUEUE = \"'"${USER_EMAIL}"'\"/g' /etc/compass/celeryconfig
-# sudo sed -i 's/^CELERY_DEFAULT_EXCHANGE.*/CELERY_DEFAULT_EXCHANGE = \"'"${USER_EMAIL}"'\"/g' /etc/compass/celeryconfig
-# sudo sed -i 's/^CELERY_DEFAULT_ROUTING_KEY.*/CELERY_DEFAULT_ROUTING_KEY = \"'"${USER_EMAIL}"'\"/g' /etc/compass/celeryconfig
-
-# Restart services
-systemctl restart httpd.service
-sleep 10
-echo "Checking if httpd is running"
-sudo systemctl status httpd.service
-if [[ "$?" == "0" ]]; then
-    echo "httpd is running"
-else
-    echo "httpd is not running"
-    exit 1
-fi
-
-systemctl restart compass-celeryd.service
-echo "Checking if httpd is running"
-sudo systemctl status compass-celeryd.service
-if [[ "$?" == "0" ]]; then
-    echo "celeryd is running"
-else
-    echo "celeryd is not running"
-    exit 1
-fi
diff --git a/install/logstash-forwarder.sh b/install/logstash-forwarder.sh
deleted file mode 100644
index a3eb33f5..00000000
--- a/install/logstash-forwarder.sh
+++ /dev/null
@@ -1,22 +0,0 @@
-#!/bin/bash
-#
-
-echo "Installing logstash-forwarder"
-DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
-source $DIR/install.conf
-
-sudo cp -rf $COMPASSDIR/misc/logstash-forwarder/logstash-forwarder.repo /etc/yum.repos.d/logstash-forwarder.repo
-sudo yum -y install logstash-forwarder
-sudo rm -rf /etc/logstash-forwarder.conf
-sudo cp -rf $COMPASSDIR/misc/logstash-forwarder/logstash-forwarder.conf /etc/logstash-forwarder.conf
-sudo mkdir -p /etc/pki/tls/certs
-sudo cp -rf $COMPASSDIR/misc/logstash-forwarder/logstash-forwarder.crt /etc/pki/tls/certs/logstash-forwarder.crt
-
-sudo systemctl restart logstash-forwarder.service
-sleep 3
-echo "checking if logstash-forwarder is running"
-sudo systemctl status logstash-forwarder.service
-if [[ "$?" != 0 ]]; then
-    echo "logstash-forwarder is not running"
-    exit
-fi
diff --git a/install/prepare.sh b/install/prepare.sh
index 69eddcad..613bcbf3 100755
--- a/install/prepare.sh
+++ b/install/prepare.sh
@@ -104,61 +104,58 @@ else
 fi
 
 #update mysqld
-if [ "$FULL_COMPASS_SERVER" == "true" ]; then
-    echo "update mysqld"
-    mkdir -p /var/log/mysql
-    chmod -R 777 /var/log/mysql
-    sleep 10
-    systemctl restart mysql.service
-    sudo sleep 10
-    systemctl status mysql.service
-    if [[ "$?" != "0" ]]; then
-        echo "failed to restart mysqld"
-        exit 1
-    else
-        echo "mysqld restarted"
-    fi
+echo "update mysqld"
+mkdir -p /var/log/mysql
+chmod -R 777 /var/log/mysql
+sleep 10
+systemctl restart mysql.service
+sudo sleep 10
+systemctl status mysql.service
+if [[ "$?" != "0" ]]; then
+    echo "failed to restart mysqld"
+    exit 1
+else
+    echo "mysqld restarted"
+fi
+MYSQL_USER=${MYSQL_USER:-root}
+MYSQL_OLD_PASSWORD=${MYSQL_OLD_PASSWORD:-root}
+MYSQL_PASSWORD=${MYSQL_PASSWORD:-root}
+MYSQL_SERVER=${MYSQL_SERVER:-127.0.0.1}
+MYSQL_PORT=${MYSQL_PORT:-3306}
+MYSQL_DATABASE=${MYSQL_DATABASE:-compass}
+# first time set mysql password
+sudo mysqladmin -h${MYSQL_SERVER} --port=${MYSQL_PORT} -u ${MYSQL_USER} -p"${MYSQL_OLD_PASSWORD}" password ${MYSQL_PASSWORD}
+if [[ "$?" != "0" ]]; then
+echo "setting up mysql initial password"
+sudo mysqladmin -h${MYSQL_SERVER} --port=${MYSQL_PORT} -u ${MYSQL_USER} password ${MYSQL_PASSWORD}
+fi
+mysql -h${MYSQL_SERVER} --port=${MYSQL_PORT} -u${MYSQL_USER} -p${MYSQL_PASSWORD} -e "show databases;"
+if [[ "$?" != "0" ]]; then
+    echo "mysql password set failed"
+    exit 1
+else
+    echo "mysql password set succeeded"
+fi
 
-    MYSQL_USER=${MYSQL_USER:-root}
-    MYSQL_OLD_PASSWORD=${MYSQL_OLD_PASSWORD:-root}
-    MYSQL_PASSWORD=${MYSQL_PASSWORD:-root}
-    MYSQL_SERVER=${MYSQL_SERVER:-127.0.0.1}
-    MYSQL_PORT=${MYSQL_PORT:-3306}
-    MYSQL_DATABASE=${MYSQL_DATABASE:-compass}
-    # first time set mysql password
-    sudo mysqladmin -h${MYSQL_SERVER} --port=${MYSQL_PORT} -u ${MYSQL_USER} -p"${MYSQL_OLD_PASSWORD}" password ${MYSQL_PASSWORD}
-    if [[ "$?" != "0" ]]; then
-        echo "setting up mysql initial password"
-        sudo mysqladmin -h${MYSQL_SERVER} --port=${MYSQL_PORT} -u ${MYSQL_USER} password ${MYSQL_PASSWORD}
-    fi
-    mysql -h${MYSQL_SERVER} --port=${MYSQL_PORT} -u${MYSQL_USER} -p${MYSQL_PASSWORD} -e "show databases;"
-    if [[ "$?" != "0" ]]; then
-        echo "mysql password set failed"
-        exit 1
-    else
-        echo "mysql password set succeeded"
-    fi
+sudo mysql -h${MYSQL_SERVER} --port=${MYSQL_PORT} -u${MYSQL_USER} -p${MYSQL_PASSWORD} -e "drop database ${MYSQL_DATABASE}"
+sudo mysql -h${MYSQL_SERVER} --port=${MYSQL_PORT} -u${MYSQL_USER} -p${MYSQL_PASSWORD} -e "create database ${MYSQL_DATABASE}"
+if [[ "$?" != "0" ]]; then
+    echo "mysql database set failed"
+    exit 1
+fi
 
-    sudo mysql -h${MYSQL_SERVER} --port=${MYSQL_PORT} -u${MYSQL_USER} -p${MYSQL_PASSWORD} -e "drop database ${MYSQL_DATABASE}"
-    sudo mysql -h${MYSQL_SERVER} --port=${MYSQL_PORT} -u${MYSQL_USER} -p${MYSQL_PASSWORD} -e "create database ${MYSQL_DATABASE}"
-    if [[ "$?" != "0" ]]; then
-        echo "mysql database set failed"
-        exit 1
-    fi
+sudo systemctl restart mysql.service
+sudo systemctl status mysql.service
+if [[ "$?" != "0" ]]; then
+    echo "mysqld is not started"
+    exit 1
+fi
 
-    sudo systemctl restart mysql.service
-    sudo systemctl status mysql.service
-    if [[ "$?" != "0" ]]; then
-        echo "mysqld is not started"
-        exit 1
-    fi
-
-    sudo systemctl restart rabbitmq-server.service
-    sudo systemctl status rabbitmq-server.service
-    if [[ "$?" != "0" ]]; then
-        echo "rabbitmq-server is not started"
-        exit 1
-    fi
+sudo systemctl restart rabbitmq-server.service
+sudo systemctl status rabbitmq-server.service
+if [[ "$?" != "0" ]]; then
+    echo "rabbitmq-server is not started"
+    exit 1
 fi
 
 cd $SCRIPT_DIR
@@ -241,7 +238,6 @@ if [[ "$?" != "0" ]]; then
     exit 1
 fi
 pip install -U -r test-requirements.txt
-pip install -U boto
 if [[ "$?" != "0" ]]; then
     echo "failed to install compass test requiremnts"
     deactivate
diff --git a/install/register.sh b/install/register.sh
deleted file mode 100755
index 5d4f12e8..00000000
--- a/install/register.sh
+++ /dev/null
@@ -1,25 +0,0 @@
-#!/bin/bash
-#
-#set -x
-### Register current user to compass
-source install.conf
-DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
-echo "The email address you use to register is ${USER_EMAIL}"
-password=`< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c6`
-USER_PASSWORD="${USER_PASSWORD:-$password}"
-data=`echo "{\"email\":\"${USER_EMAIL}\",\"password\":\"${USER_PASSWORD}\"}"`
-if [ "$FULL_COMPASS_SERVER" == "true" ]; then
-    COMPASS_API_SERVER="127.0.0.1"
-fi
-wget -O /tmp/user_info --post-data=$data --header=Content-Type:application/json "http://$COMPASS_API_SERVER/api/users/register"
-if [ $? -ne 0 ]; then
-echo "Register failed"
-exit 1
-fi
-
-echo "Register suceeded, your password is $USER_PASSWORD, please remember your password at all times."
-sudo sed -i 's/^CELERY_DEFAULT_QUEUE.*/CELERY_DEFAULT_QUEUE = \"'"${USER_EMAIL}"'\"/g' /etc/compass/celeryconfig
-sudo sed -i 's/^CELERY_DEFAULT_EXCHANGE.*/CELERY_DEFAULT_EXCHANGE = \"'"${USER_EMAIL}"'\"/g' /etc/compass/celeryconfig
-sudo sed -i 's/^CELERY_DEFAULT_ROUTING_KEY.*/CELERY_DEFAULT_ROUTING_KEY = \"'"${USER_EMAIL}"'\"/g' /etc/compass/celeryconfig
-
-systemctl restart compass-celeryd.service
diff --git a/install/standalone_server.conf b/install/standalone_server.conf
deleted file mode 100755
index 47808971..00000000
--- a/install/standalone_server.conf
+++ /dev/null
@@ -1,25 +0,0 @@
-#############################################
-# Config File for Standalone Compass Server #
-#############################################
-export REMI="http://rpms.famillecollet.com/enterprise/remi-release-7.rpm"
-
-export EPEL="https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm"
-
-export MYSQL="http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm"
-
-# Compass web related variables
-export WEB_HOME="/tmp/web"
-export WEB_SOURCE=
-
-#set compass environment
-export SCRIPT_DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
-export COMPASSDIR=${SCRIPT_DIR}/..
-export TESTMODE="False"
-
-# Set Local Repo sources
-export LOCAL_REPO_US="https://s3-us-west-1.amazonaws.com/compass-local-repo"
-export LOCAL_REPO_HUAWEI="http://huawei-repo.uubright.com/repos/compass"
-
-# package hosting sources
-export PIP_PACKAGES="http://205.177.226.237:9999/pip.tar.gz"
-export EXTRA_PACKAGES="http://205.177.226.237:9999/packages.tar.gz"
diff --git a/install/standalone_server.sh b/install/standalone_server.sh
deleted file mode 100755
index 3c2b1fb5..00000000
--- a/install/standalone_server.sh
+++ /dev/null
@@ -1,461 +0,0 @@
-#!/bin/bash
-#
-# set -x
-### Log the script outputs locally
-exec > >(sudo tee standalone_server.log)
-exec 2>&1
-
-### Lock to prevent running multiple instances of the script.
-LOCKFILE="/tmp/`basename $0`"
-LOCKFD=99
-
-if [ -f $LOCKFILE ]; then
-    LOCKED_PID=$(cat $LOCKFILE | head -n 1)
-    ps -p $LOCKED_PID &> /dev/null
-    if [[ "$?" != "0" ]]; then
-        echo "the progress of pid $LOCKED_PID does not exist: `ps -p $LOCKED_PID`"
-        rm -f $LOCKFILE
-    else
-        echo "the progress of pid $LOCKED_PID is running: `ps -p $LOCKED_PID`"
-        exit 1
-    fi
-else
-    echo "$LOCKFILE does not exist"
-fi
-
-# PRIVATE
-_lock()
-{
-    echo "lock $LOCKFILE"
-    flock -$1 $LOCKFD
-    pid=$$
-    echo $pid 1>& $LOCKFD
-}
-
-_no_more_locking()
-{
-    _lock u
-    _lock xn && rm -f $LOCKFILE
-}
-
-_prepare_locking()
-{
-    eval "exec $LOCKFD>\"$LOCKFILE\""
-    trap _no_more_locking EXIT
-}
-
-# ON START
-_prepare_locking
-
-# PUBLIC
-
-exlock_now()
-{
-    _lock xn || exit 1
-}  # obtain an exclusive lock immediately or fail
-
-exlock_now
-if [[ "$?" != "0" ]]; then
-    echo "failed to acquire lock $LOCKFILE"
-    exit 1
-fi
-
-### Script Begins Here
-
-DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
-
-### Load config
-source $DIR/standalone_server.conf
-### Load functions
-source $DIR/install_func.sh
-
-### Change selinux security policy
-sudo setenforce 0
-sudo sed -i 's/enforcing/disabled/g' /etc/selinux/config
-
-### Add epel repo
-sudo rpm -q epel-release
-if [ "$?" != "0" ]; then
-    sudo rpm -Uvh $EPEL
-    if [ "$?" != "0" ]; then
-        echo "failed to install epel-release"
-        exit 1
-    else
-        echo "sucessfaully installed epel-release"
-    fi
-else
-    echo "epel-release is already installed"
-fi
-
-sed -i 's/^mirrorlist=https/mirrorlist=http/g' /etc/yum.repos.d/epel.repo
-
-sudo rpm -q atomic-release
-if [ "$?" == "0" ]; then
-    sudo rpm -e atomic-release
-fi
-
-### Add remi repo
-sudo rpm -q remi-release
-if [ "$?" != "0" ]; then
-    sudo rpm -Uvh $REMI >& /dev/null
-    if [ "$?" != "0" ]; then
-        echo "failed to install remi-release"
-        exit 1
-    else
-        echo "successfully installed remi-release"
-    fi
-else
-    echo "remi-release is already installed"
-fi
-
-### Trap any error code with related filename and line.
-errtrap()
-{
-    FILE=${BASH_SOURCE[1]:-$BASH_SOURCE[0]}
-    echo "[FILE: "$(basename $FILE)", LINE: $1] Error: Command or function exited with status $2"
-}
-
-if [[ "$-" == *x* ]]; then
-trap 'errtrap $LINENO $?' ERR
-fi
-
-sudo yum -y install figlet >& /dev/null
-figlet -ctf slant Compass Standalone Web-Server
-
-sudo yum update -y
-
-# assign all necessary values.
-export WEB_SOURCE=${WEB_SOURCE:-"http://git.openstack.org/openstack/compass-web"}
-
-rm -rf /etc/yum.repos.d/compass_install.repo 2>/dev/nullcp 
-cp ${COMPASSDIR}/misc/compass_install.repo /etc/yum.repos.d/
-
-# Start: install required packages and dependencies
-sudo yum --enablerepo=compass_install install -y $MYSQL
-sudo yum --enablerepo=compass_install --nogpgcheck install -y rsyslog logrotate ntp python python-devel git wget syslinux amqp mod_wsgi httpd bind rsync yum-utils gcc unzip openssl openssl098e ca-certificates mysql-devel mysql-server mysql MySQL-python python-virtualenv python-setuptools python-pip bc libselinux-python libffi-devel openssl-devel rabbitmq-server
-sudo yum --setopt=tsflags=noscripts -y remove redis
-sudo yum --enablerepo=compass_install --nogpgcheck install -y redis
-if [[ "$?" != "0" ]]; then
-    echo "failed to install yum dependency"
-    exit 1
-fi
-
-# sync system time
-sudo service ntpd stop
-ntpdate 0.centos.pool.ntp.org
-sudo service ntpd start
-sudo sleep 10
-sudo service ntpd status
-if [[ "$?" != "0" ]]; then
-    echo "ntpd is not started"
-    exit 1
-fi
-
-# Disable firewalld
-sudo systemctl stop firewalld.service
-
-sudo easy_install --upgrade pip
-sudo pip install --upgrade pip
-sudo pip install --upgrade setuptools
-sudo pip install --upgrade virtualenv
-if [[ "$?" != "0" ]]; then
-    echo "failed to install easy install and pip."
-    exit 1
-fi
-
-sudo pip install virtualenvwrapper
-if [[ "$?" != "0" ]]; then
-    echo "failed to install virtualenvwrapper"
-    exit 1
-fi
-
-sudo systemctl enable httpd.service
-sudo systemctl enable sshd.service
-sudo systemctl enable rsyslog.service
-sudo systemctl enable ntpd.service
-sudo systemctl enable redis.service
-sudo systemctl enable mysqld.service
-sudo systemctl enable rabbitmq.service
-# Finish: dependency and package install finished.
-
-# Start: prepare installation
-
-# Crate backup dir
-sudo mkdir -p /root/backup
-
-# update logrotate.d
-echo "update logrotate config"
-sudo cp -rn /etc/logrotate.d /root/backup/
-rm -f /etc/logrotate.d/*
-sudo cp -rf $COMPASSDIR/misc/logrotate.d/* /etc/logrotate.d/
-sudo chmod 644 /etc/logrotate.d/*
-
-# update ntp conf
-echo "update ntp config"
-sudo cp -rn /etc/ntp.conf /root/backup/
-sudo rm -f /etc/ntp.conf
-sudo cp -rf $COMPASSDIR/misc/ntp/ntp.conf /etc/ntp.conf
-sudo chmod 644 /etc/ntp.conf
-sudo systemctl stop ntpd.service
-sudo ntpdate 0.centos.pool.ntp.org
-sudo systemctl start ntpd.service
-sudo sleep 10
-sudo systemctl status ntpd.service
-if [[ "$?" != "0" ]]; then
-    echo "ntp is not started"
-    exit 1
-else
-    echo "ntp conf is updated"
-fi
-
-# update httpd
-echo "update httpd"
-mkdir -p /var/log/httpd
-chmod -R 777 /var/log/httpd
-
-systemctl restart httpd.service
-sudo sleep 10
-systemctl status httpd.service
-if [[ "$?" != "0" ]]; then
-    echo "httpd is not started"
-    exit 1
-else
-    echo "httpd conf is updated"
-fi
-
-# update mysqld
-echo "update mysqld"
-mkdir -p /var/log/mysql
-chmod -R 777 /var/log/mysql
-sleep 10
-sudo systemctl restart mysql.service
-sudo sleep 10
-sudo systemctl status mysql.service
-if [[ "$?" != "0" ]]; then
-    echo "failed to restart mysqld"
-    exit 1
-else
-    echo "mysqld restarted"
-fi
-MYSQL_USER=${MYSQL_USER:-root}
-MYSQL_OLD_PASSWORD=${MYSQL_OLD_PASSWORD:-root}
-MYSQL_PASSWORD=${MYSQL_PASSWORD:-root}
-MYSQL_SERVER=${MYSQL_SERVER:-127.0.0.1}
-MYSQL_PORT=${MYSQL_PORT:-3306}
-MYSQL_DATABASE=${MYSQL_DATABASE:-compass}
-# first time set mysql password
-sudo mysqladmin -h${MYSQL_SERVER} --port=${MYSQL_PORT} -u ${MYSQL_USER} -p"${MYSQL_OLD_PASSWORD}" password ${MYSQL_PASSWORD}
-if [[ "$?" != "0" ]]; then
-	echo "setting up mysql initial password"
-	sudo mysqladmin -h${MYSQL_SERVER} --port=${MYSQL_PORT} -u ${MYSQL_USER} password ${MYSQL_PASSWORD}
-fi
-mysql -h${MYSQL_SERVER} --port=${MYSQL_PORT} -u${MYSQL_USER} -p${MYSQL_PASSWORD} -e "show databases;"
-if [[ "$?" != "0" ]]; then
-	echo "mysql password set failed"
-	exit 1
-else
-	echo "mysql password set succeeded"
-fi
-
-sudo mysql -h${MYSQL_SERVER} --port=${MYSQL_PORT} -u${MYSQL_USER} -p${MYSQL_PASSWORD} -e "drop database ${MYSQL_DATABASE}"
-sudo mysql -h${MYSQL_SERVER} --port=${MYSQL_PORT} -u${MYSQL_USER} -p${MYSQL_PASSWORD} -e "create database ${MYSQL_DATABASE}"
-sudo mysql -h${MYSQL_SERVER} --port=${MYSQL_PORT} -u${MYSQL_USER} -p${MYSQL_PASSWORD} -e "GRANT ALL PRIVILEGES ON *.* TO '$MYSQL_USER'@'%' IDENTIFIED BY '$MYSQL_PASSWORD'"
-if [[ "$?" != "0" ]]; then
-	echo "mysql database set failed"
-	exit 1
-fi
-
-sudo systemctl restart mysql.service
-sudo systemctl status mysql.service
-if [[ "$?" != "0" ]]; then
-	echo "mysqld is not started"
-	exit 1
-fi
-
-sudo systemctl restart rabbitmq-server.service
-sudo systemctl status rabbitmq-server.service
-if [[ "$?" != "0" ]]; then
-	echo "rabbitmq-server is not started"
-	exit 1
-fi
-
-# Get websource now
-if [ -z $WEB_SOURCE ]; then
-    echo "web source $WEB_SOURCE is not set"
-    exit 1
-fi
-copy2dir "$WEB_SOURCE" "$WEB_HOME" || exit $?
-
-# Set up virtualenv
-source `which virtualenvwrapper.sh`
-if ! lsvirtualenv |grep compass-core>/dev/null; then
-    mkvirtualenv --system-site-packages compass-core
-fi
-cd $COMPASSDIR
-workon compass-core
-easy_install --upgrade pip
-rm -rf ${WORKON_HOME}/compass-core/build
-echo "install compass requirements"
-pip install -U -r requirements.txt
-if [[ "$?" != "0" ]]; then
-    echo "failed to install compass requiremnts"
-    deactivate
-    exit 1
-fi
-pip install -U boto
-if [[ "$?" != "0" ]]; then
-    echo "failed to install compass test requiremnts"
-    deactivate
-    exit 1
-else
-    echo "intall compass requirements succeeded"
-    deactivate
-fi
-
-# Setup compass web components
-sudo mkdir -p /var/www/compass_web
-sudo rm -rf /var/www/compass_web/*
-
-sudo mkdir -p /var/www/compass_web/v2.5
-sudo cp -rf $WEB_HOME/v2.5/target/* /var/www/compass_web/v2.5/
-
-sudo systemctl restart httpd.service
-sleep 10
-
-echo "Checking if httpd is running"
-sudo systemctl status httpd.service
-if [[ "$?" == "0" ]]; then
-    echo "httpd is running"
-else
-    echo "httpd is not running"
-    exit 1
-fi
-
-## Setup compass server
-cd $SCRIPT_DIR
-
-sudo mkdir -p /etc/compass
-sudo rm -rf /etc/compass/*
-sudo mkdir -p /opt/compass/bin
-sudo rm -rf /opt/compass/bin/*
-sudo mkdir -p /var/log/compass
-sudo rm -rf /var/log/compass/*
-sudo mkdir -p /var/www/compass
-sudo rm -rf /var/www/compass/*
-
-sudo cp -rf $COMPASSDIR/misc/apache/ods-server.conf /etc/httpd/conf.d/ods-server.conf
-sudo cp -rf $COMPASSDIR/misc/apache/http_pip.conf /etc/httpd/conf.d/http_pip.conf
-sudo cp -rf $COMPASSDIR/misc/apache/images.conf /etc/httpd/conf.d/images.conf
-sudo cp -rf $COMPASSDIR/misc/apache/packages.conf /etc/httpd/conf.d/packages.conf
-sudo cp -rf $COMPASSDIR/conf/* /etc/compass/
-sudo cp -rf $COMPASSDIR/service/* /etc/init.d/
-sudo cp -rf $COMPASSDIR/bin/*.py /opt/compass/bin/
-sudo cp -rf $COMPASSDIR/bin/*.sh /opt/compass/bin/
-sudo cp -rf $COMPASSDIR/bin/ansible_callbacks /opt/compass/bin/
-sudo cp -rf $COMPASSDIR/bin/compassd /usr/bin/
-sudo cp -rf $COMPASSDIR/bin/switch_virtualenv.py.template /opt/compass/bin/switch_virtualenv.py
-sudo ln -s -f /opt/compass/bin/compass_check.py /usr/bin/compass
-sudo ln -s -f /opt/compass/bin/compass_wsgi.py /var/www/compass/compass.wsgi
-sudo cp -rf $COMPASSDIR/bin/chef/* /opt/compass/bin/
-sudo cp -rf $COMPASSDIR/bin/cobbler/* /opt/compass/bin/
-
-sudo usermod -a -G `groups $USER|awk '{print$3}'` apache
-
-# setup ods server
-if [ ! -f /usr/lib64/libcrypto.so ]; then
-    sudo cp -rf /usr/lib64/libcrypto.so.6 /usr/lib64/libcrypto.so
-fi
-
-download -u "$PIP_PACKAGES"  `basename $PIP_PACKAGES` unzip /var/www/ || exit $?
-download -u "$EXTRA_PACKAGES" `basename $EXTRA_PACKAGES` unzip /var/www/ || exit $?
-
-sudo mkdir -p /opt/compass/db
-sudo chmod -R 777 /opt/compass/db
-sudo chmod -R 777 /var/log/compass
-sudo chmod -R 777 /var/log/chef
-sudo echo "export C_FORCE_ROOT=1" > /etc/profile.d/celery_env.sh
-sudo chmod +x /etc/profile.d/celery_env.sh
-source `which virtualenvwrapper.sh`
-if ! lsvirtualenv |grep compass-core>/dev/null; then
-    mkvirtualenv --system-site-packages compass-core
-fi
-cd $COMPASSDIR
-workon compass-core
-
-python setup.py install
-if [[ "$?" != "0" ]]; then
-    echo "failed to install compass package"
-    deactivate
-    exit 1
-else
-    echo "compass package is installed in virtualenv under current dir"
-fi
-
-udo sed -i "s/\$ipaddr/$IPADDR/g" /etc/compass/setting
-sudo sed -i "s/\$hostname/$HOSTNAME/g" /etc/compass/setting
-sudo sed -i "s/\$gateway/$OPTION_ROUTER/g" /etc/compass/setting
-domains=$(echo $NAMESERVER_DOMAINS | sed "s/,/','/g")
-sudo sed -i "s/\$domains/$domains/g" /etc/compass/setting
-sudo sed -i "/DATABASE_SERVER =/c\DATABASE_SERVER = '127.0.0.1:3306'" /etc/compass/setting
-sudo sed -i "s|\$PythonHome|$VIRTUAL_ENV|g" /opt/compass/bin/switch_virtualenv.py
-sudo ln -s -f $VIRTUAL_ENV/bin/celery /opt/compass/bin/celery
-
-deactivate
-
-sudo mkdir -p /var/log/redis
-sudo chown -R redis:root /var/log/redis
-sudo mkdir -p /var/lib/redis/
-sudo rm -rf /var/lib/redis/*
-sudo chown -R redis:root /var/lib/redis
-sudo mkdir -p /var/run/redis
-sudo chown -R redis:root /var/run/redis
-sudo mkdir -p /var/lib/redis
-sudo chown -R redis:root /var/lib/redis
-sudo rm -rf /var/lib/redis/dump.rdb
-sudo systemctl kill redis-server
-sudo rm -rf /var/run/redis/redis.pid
-sudo systemctl restart redis.service
-sleep 10
-echo "Checking if redis is running"
-sudo systemctl status redis.service
-if [[ "$?" == "0" ]]; then
-    echo "redis is running"
-else
-    ps -ef | grep redis
-    echo "redis is not running"
-    exit 1
-fi
-sudo mv /etc/compass/celeryconfig_local /etc/compass/celeryconfig
-/opt/compass/bin/refresh.sh
-
-if [[ "$?" != "0" ]]; then
-    echo "failed to refresh compassd service"
-    exit 1
-else
-    echo "compassed service is refreshed"
-fi
-
-sudo systemctl status httpd.service
-if [[ "$?" != "0" ]]; then
-    echo "httpd is not started"
-    exit 1
-else
-    echo "httpd has already started"
-fi
-
-sudo systemctl status redis.service |grep running
-if [[ "$?" != "0" ]]; then
-    echo "redis is not started"
-    exit 1
-else
-    echo "redis has already started"
-fi
-
-sudo systemctl status mysql.service |grep running
-if [[ "$?" != "0" ]]; then
-    echo "mysqld is not started"
-    exit 1
-fi
-
-figlet -ctf slant Standalone Server Installation Complete!
-echo -e "It takes\x1b[32m $SECONDS \x1b[0mseconds during the installation."
diff --git a/misc/adapter_changes/Debian.yml b/misc/adapter_changes/Debian.yml
deleted file mode 100644
index 0f76f751..00000000
--- a/misc/adapter_changes/Debian.yml
+++ /dev/null
@@ -1,18 +0,0 @@
-#############################################################################
-# Copyright (c) 2016 HUAWEI TECHNOLOGIES CO.,LTD and others.
-#
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Apache License, Version 2.0
-# which accompanies this distribution, and is available at
-# http://www.apache.org/licenses/LICENSE-2.0
-#############################################################################
----
-
-cron_path: "/var/spool/cron/crontabs"
-
-packages:
-  - keystone
-
-services:
-  - apache2
-  - keystone
diff --git a/misc/adapter_changes/HA-ansible-multinodes.yml b/misc/adapter_changes/HA-ansible-multinodes.yml
deleted file mode 100644
index b0c5810e..00000000
--- a/misc/adapter_changes/HA-ansible-multinodes.yml
+++ /dev/null
@@ -1,239 +0,0 @@
----
-- hosts: all
-  remote_user: root
-  pre_tasks:
-    - name: make sure ssh dir exist
-      file:
-        path: '{{ item.path }}'
-        owner: '{{ item.owner }}'
-        group: '{{ item.group }}'
-        state: directory
-        mode: 0755
-      with_items:
-        - path: /root/.ssh
-          owner: root
-          group: root
-
-    - name: write ssh config
-      copy:
-        content: "UserKnownHostsFile /dev/null\nStrictHostKeyChecking no"
-        dest: '{{ item.dest }}'
-        owner: '{{ item.owner }}'
-        group: '{{ item.group }}'
-        mode: 0600
-      with_items:
-        - dest: /root/.ssh/config
-          owner: root
-          group: root
-
-    - name: generate ssh keys
-      shell: if [ ! -f ~/.ssh/id_rsa.pub ]; then ssh-keygen -q -t rsa -f ~/.ssh/id_rsa -N ""; else echo "already gen ssh key!"; fi;
-
-    - name: fetch ssh keys
-      fetch: src=/root/.ssh/id_rsa.pub dest=/tmp/ssh-keys-{{ ansible_hostname }} flat=yes
-
-    - authorized_key:
-        user: root
-        key:  "{{ lookup('file', 'item') }}"
-      with_fileglob:
-        - /tmp/ssh-keys-*
-  max_fail_percentage: 0
-  roles:
-    - common
-
-- hosts: all
-  remote_user: root
-  accelerate: false
-  max_fail_percentage: 0
-  roles:
-    - setup-network
-
-- hosts: ha
-  remote_user: root
-  accelerate: false
-  max_fail_percentage: 0
-  roles:
-    - ha
-
-- hosts: controller
-  remote_user: root
-  accelerate: false
-  max_fail_percentage: 0
-  roles:
-    - memcached
-    - apache
-    - database
-    - mq
-    - keystone
-    - nova-controller
-    - neutron-controller
-    - cinder-controller
-    - glance
-    - neutron-common
-    - neutron-network
-    - ceilometer_controller
-#    - ext-network
-    - dashboard
-    - heat
-    - aodh
-
-- hosts: all
-  remote_user: root
-  accelerate: false
-  max_fail_percentage: 0
-  roles:
-    - storage
-
-- hosts: compute
-  remote_user: root
-  accelerate: false
-  max_fail_percentage: 0
-  roles:
-    - nova-compute
-    - neutron-compute
-    - cinder-volume
-    - ceilometer_compute
-
-- hosts: all
-  remote_user: root
-  accelerate: false
-  max_fail_percentage: 0
-  roles:
-    - secgroup
-
-- hosts: ceph_adm
-  remote_user: root
-  accelerate: false
-  max_fail_percentage: 0
-  roles: []
-  #  - ceph-deploy
-
-- hosts: ceph
-  remote_user: root
-  accelerate: false
-  max_fail_percentage: 0
-  roles:
-    - ceph-purge
-    - ceph-config
-
-- hosts: ceph_mon
-  remote_user: root
-  accelerate: false
-  max_fail_percentage: 0
-  roles:
-    - ceph-mon
-
-- hosts: ceph_osd
-  remote_user: root
-  accelerate: false
-  max_fail_percentage: 0
-  roles:
-    - ceph-osd
-
-- hosts: ceph
-  remote_user: root
-  accelerate: false
-  max_fail_percentage: 0
-  roles:
-    - ceph-openstack
-
-- hosts: all
-  remote_user: root
-  accelerate: false
-  max_fail_percentage: 0
-  roles:
-    - monitor
-
-
-- hosts: all
-  remote_user: root
-  accelerate: false
-  max_fail_percentage: 0
-  tasks:
-    - name: set bash to nova
-      user:
-         name: nova
-         shell: /bin/bash
-
-    - name: make sure ssh dir exist
-      file:
-        path: '{{ item.path }}'
-        owner: '{{ item.owner }}'
-        group: '{{ item.group }}'
-        state: directory
-        mode: 0755
-      with_items:
-        - path: /var/lib/nova/.ssh
-          owner: nova
-          group: nova
-
-    - name: copy ssh keys for nova
-      shell: cp -rf /root/.ssh/id_rsa /var/lib/nova/.ssh;
-
-    - name: write ssh config
-      copy:
-        content: "UserKnownHostsFile /dev/null\nStrictHostKeyChecking no"
-        dest: '{{ item.dest }}'
-        owner: '{{ item.owner }}'
-        group: '{{ item.group }}'
-        mode: 0600
-      with_items:
-        - dest: /var/lib/nova/.ssh/config
-          owner: nova
-          group: nova
-
-    - authorized_key:
-        user: nova
-        key:  "{{ lookup('file', 'item') }}"
-      with_fileglob:
-        - /tmp/ssh-keys-*
-
-    - name: chown ssh file
-      shell: chown -R nova:nova /var/lib/nova/.ssh;
-
-
-- hosts: all
-  remote_user: root
-  max_fail_percentage: 0
-  roles:
-    - odl_cluster
-
-- hosts: all
-  remote_user: root
-  accelerate: false
-  max_fail_percentage: 0
-  roles:
-    - onos_cluster
-
-- hosts: all
-  remote_user: root
-  sudo: True
-  max_fail_percentage: 0
-  roles:
-    - open-contrail
-
-- hosts: all
-  remote_user: root
-  serial: 1
-  max_fail_percentage: 0
-  roles:
-    - odl_cluster_neutron
-
-- hosts: all
-  remote_user: root
-  max_fail_percentage: 0
-  roles:
-    - odl_cluster_post
-
-- hosts: controller
-  remote_user: root
-  max_fail_percentage: 0
-  roles:
-    - ext-network
-
-- hosts: controller
-  remote_user: root
-  accelerate: false
-  max_fail_percentage: 0
-  roles:
-    - tacker
diff --git a/misc/adapter_changes/keystone_install.yml b/misc/adapter_changes/keystone_install.yml
deleted file mode 100644
index 01907c66..00000000
--- a/misc/adapter_changes/keystone_install.yml
+++ /dev/null
@@ -1,74 +0,0 @@
-##############################################################################
-# Copyright (c) 2016 HUAWEI TECHNOLOGIES CO.,LTD and others.
-#
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Apache License, Version 2.0
-# which accompanies this distribution, and is available at
-# http://www.apache.org/licenses/LICENSE-2.0
-##############################################################################
----
-- include_vars: "{{ ansible_os_family }}.yml"
-
-- name: disable auto start
-  copy:
-    content: "#!/bin/sh\nexit 101"
-    dest: "/usr/sbin/policy-rc.d"
-    mode: 0755
-  when: ansible_os_family == "Debian"
-
-- name: install keystone packages
-  action: "{{ ansible_pkg_mgr }} name={{ item }} state=present"
-  with_items: packages | union(packages_noarch)
-
-- name: enable auto start
-  file:
-    path=/usr/sbin/policy-rc.d
-    state=absent
-  when: ansible_os_family == "Debian"
-
-- name: generate keystone service list
-  lineinfile: dest=/opt/service create=yes line='{{ item }}'
-  with_items: services | union(services_noarch)
-
-- name: delete sqlite database
-  file:
-    path: /var/lib/keystone/keystone.db
-    state: absent
-
-- name: update keystone conf
-  template: src=keystone.conf dest=/etc/keystone/keystone.conf backup=yes
-  notify:
-    - restart keystone services
-
-- name: update apache2 configs
-  template:
-    src: wsgi-keystone.conf.j2
-    dest: '{{ apache_config_dir }}/sites-available/wsgi-keystone.conf'
-  when: ansible_os_family == 'Debian'
-  notify:
-    - restart keystone services
-
-- name: update apache2 configs
-  template:
-    src: wsgi-keystone.conf.j2
-    dest: '{{ apache_config_dir }}/wsgi-keystone.conf'
-  when: ansible_os_family == 'RedHat'
-  notify:
-    - restart keystone services
-
-- name: enable keystone server
-  file:
-    src: "{{ apache_config_dir }}/sites-available/wsgi-keystone.conf"
-    dest: "{{ apache_config_dir }}/sites-enabled/wsgi-keystone.conf"
-    state: "link"
-  when: ansible_os_family == 'Debian'
-  notify:
-    - restart keystone services
-
-- name: keystone source files
-  template: src={{ item }} dest=/opt/{{ item }}
-  with_items:
-    - admin-openrc.sh
-    - demo-openrc.sh
-
-- meta: flush_handlers
diff --git a/misc/adapter_changes/preseed_post_anamon_local b/misc/adapter_changes/preseed_post_anamon_local
deleted file mode 100644
index c4f461fc..00000000
--- a/misc/adapter_changes/preseed_post_anamon_local
+++ /dev/null
@@ -1,80 +0,0 @@
-#if $str($getVar('anamon_enabled','')) == "1"
-
-## install anamon script
-    #if $getVar("compass_server", "") != ""
-wget -O /usr/local/sbin/anamon "http://$compass_server:$http_port/cobbler/aux/anamon"
-    #else
-wget -O /usr/local/sbin/anamon "http://$server:$http_port/cobbler/aux/anamon"
-    #end if
-## install anamon system service
-cat << EOF > /etc/init.d/anamon.init
-#raw
-#!/bin/bash
-## BEGIN INIT INFO
-# Provides: anamon.init
-# Default-Start: 3 5
-# Default-Stop: 0 1 2 4 6
-# Required-Start: $network
-# Short-Description: Starts the cobbler anamon boot notification program
-# Description: anamon runs the first time a machine is booted after
-#              installation.
-## END INIT INFO
-
-#
-# anamon.init: Starts the cobbler post-install boot notification program
-#
-# chkconfig: 35 95 95
-#
-# description: anamon runs the first time a machine is booted after
-#              installation.
-#
-#end raw
-cd /var/log/installer
-gunzip initial-status.gz
-cd -
-#if $getVar("compass_server","") != ""
-/usr/local/sbin/anamon --watchfile "/var/log/installer/syslog /var/log/installer/hardware-summary /var/log/installer/initial-status /var/log/installer/status" --name $name --server $compass_server --port $http_port --exit
-#else
-/usr/local/sbin/anamon --watchfile "/var/log/installer/syslog /var/log/installer/hardware-summary /var/log/installer/initial-status /var/log/installer/status" --name $name --server $server --port $http_port --exit
-#end if
-update-rc.d -f anamon remove
-mv /etc/init.d/anamon.init /tmp/anamon.init
-EOF
-
-## adjust permissions
-chmod 755 /etc/init.d/anamon.init /usr/local/sbin/anamon
-test -d /selinux && restorecon /etc/init.d/anamon.init /usr/local/sbin/anamon
-
-## enable the script
-update-rc.d anamon.init defaults 95 95
-#end if
-
-## place start-up script for updating os state
-#if $getVar('compass_server', '') != ""
-    #set srv = $getVar('compass_server','')
-#else
-    #set srv = $getVar('server','')
-#end if
-cat << EOF > /etc/init.d/set_state
-#raw
-#!/bin/bash
-# Provides: set_state
-# Default-Start: 3 5
-# Default-Stop: 0 1 2 4 6
-# Required-Start: $network $ssh
-# Short-Description: Notifies the os installation is finished
-# Description: set_state runs the first time a machine is booted after
-#              installation.
-#end raw
-wget -O /tmp/os_state --post-data='{"ready": true}' --header=Content-Type:application/json "http://$srv/api/hosts/${host_id}/state_internal"
-update-rc.d -f set_state remove
-mv /etc/init.d/set_state /tmp/set_state
-EOF
-
-## adjust permissions
-chmod 755 /etc/init.d/set_state
-test -d /selinux && restorecon /etc/init.d/set_state
-
-update-rc.d set_state defaults 99 99
-
-echo "compass_server=$server" >> /etc/compass.conf
diff --git a/misc/adapter_changes/preseed_post_anamon_remote b/misc/adapter_changes/preseed_post_anamon_remote
deleted file mode 100644
index aae183a9..00000000
--- a/misc/adapter_changes/preseed_post_anamon_remote
+++ /dev/null
@@ -1,80 +0,0 @@
-#if $str($getVar('anamon_enabled','')) == "1"
-
-## install anamon script
-    #if $getVar("compass_server", "") != ""
-wget -O /usr/local/sbin/anamon "http://$compass_server:$http_port/cobbler/aux/anamon"
-    #else
-wget -O /usr/local/sbin/anamon "http://$server:$http_port/cobbler/aux/anamon"
-    #end if
-## install anamon system service
-cat << EOF > /etc/init.d/anamon.init
-#raw
-#!/bin/bash
-## BEGIN INIT INFO
-# Provides: anamon.init
-# Default-Start: 3 5
-# Default-Stop: 0 1 2 4 6
-# Required-Start: $network
-# Short-Description: Starts the cobbler anamon boot notification program
-# Description: anamon runs the first time a machine is booted after
-#              installation.
-## END INIT INFO
-
-#
-# anamon.init: Starts the cobbler post-install boot notification program
-#
-# chkconfig: 35 95 95
-#
-# description: anamon runs the first time a machine is booted after
-#              installation.
-#
-#end raw
-cd /var/log/installer
-gunzip initial-status.gz
-cd -
-#if $getVar("compass_server","") != ""
-/usr/local/sbin/anamon --watchfile "/var/log/installer/syslog /var/log/installer/hardware-summary /var/log/installer/initial-status /var/log/installer/status" --name $name --server $compass_server --port $http_port --exit
-#else
-/usr/local/sbin/anamon --watchfile "/var/log/installer/syslog /var/log/installer/hardware-summary /var/log/installer/initial-status /var/log/installer/status" --name $name --server $server --port $http_port --exit
-#end if
-update-rc.d -f anamon remove
-mv /etc/init.d/anamon.init /tmp/anamon.init
-EOF
-
-## adjust permissions
-chmod 755 /etc/init.d/anamon.init /usr/local/sbin/anamon
-test -d /selinux && restorecon /etc/init.d/anamon.init /usr/local/sbin/anamon
-
-## enable the script
-update-rc.d anamon.init defaults 95 95
-#end if
-
-## place start-up script for updating os state
-#if $getVar('compass_server', '') != ""
-    #set srv = $getVar('compass_server','')
-#else
-    #set srv = $getVar('server','')
-#end if
-cat << EOF > /etc/init.d/set_state
-#raw
-#!/bin/bash
-# Provides: set_state
-# Default-Start: 3 5
-# Default-Stop: 0 1 2 4 6
-# Required-Start: $network $ssh
-# Short-Description: Notifies the os installation is finished
-# Description: set_state runs the first time a machine is booted after
-#              installation.
-#end raw
-wget -O /tmp/os_state --post-data='{"ready": true}' --header=Content-Type:application/json "http://c.stack360.io/api/hosts/${host_id}/state_internal"
-update-rc.d -f set_state remove
-mv /etc/init.d/set_state /tmp/set_state
-EOF
-
-## adjust permissions
-chmod 755 /etc/init.d/set_state
-test -d /selinux && restorecon /etc/init.d/set_state
-
-update-rc.d set_state defaults 99 99
-
-echo "compass_server=$server" >> /etc/compass.conf
diff --git a/misc/apache/images.conf b/misc/apache/images.conf
deleted file mode 100644
index d38986a1..00000000
--- a/misc/apache/images.conf
+++ /dev/null
@@ -1,9 +0,0 @@
-Alias /image /var/www/guestimg
-
-<Directory "/var/www/guestimg">
-    SetEnv VIRTUALENV
-    Options Indexes FollowSymLinks
-    Order allow,deny
-    Allow from all
-</Directory>
-
diff --git a/misc/apache/packages.conf b/misc/apache/packages.conf
deleted file mode 100644
index 0934fcd4..00000000
--- a/misc/apache/packages.conf
+++ /dev/null
@@ -1,9 +0,0 @@
-Alias /packages /var/www/packages
-
-<Directory "/var/www/packages">
-    SetEnv VIRTUALENV
-    Options Indexes FollowSymLinks
-    Order allow,deny
-    Allow from all
-</Directory>
-
diff --git a/misc/compass_install.repo b/misc/compass_install.repo
deleted file mode 100644
index beeb1c4d..00000000
--- a/misc/compass_install.repo
+++ /dev/null
@@ -1,5 +0,0 @@
-[compass_install]
-name=compass_repo
-baseurl=http://205.177.226.237:9999/compass_install/centos7/
-gpgcheck=0
-enabled=1
diff --git a/misc/logstash-forwarder/logstash-forwarder.conf b/misc/logstash-forwarder/logstash-forwarder.conf
deleted file mode 100644
index d0cffeb9..00000000
--- a/misc/logstash-forwarder/logstash-forwarder.conf
+++ /dev/null
@@ -1,57 +0,0 @@
-{
-  # The network section covers network configuration :)
-  "network": {
-    # A list of downstream servers listening for our messages.
-    # logstash-forwarder will pick one at random and only switch if
-    # the selected one appears to be dead or unresponsive
-    "servers": [ "www.stack360.io:5000" ],
-
-    # The path to your client ssl certificate (optional)
-    #"ssl certificate": "./logstash-forwarder.crt",
-    # The path to your client ssl key (optional)
-    #"ssl key": "./logstash-forwarder.key",
-
-    # The path to your trusted ssl CA file. This is used
-    # to authenticate your downstream server.
-    "ssl ca": "/etc/pki/tls/certs/logstash-forwarder.crt",
-
-    # Network timeout in seconds. This is most important for
-    # logstash-forwarder determining whether to stop waiting for an
-    # acknowledgement from the downstream server. If an timeout is reached,
-    # logstash-forwarder will assume the connection or server is bad and
-    # will connect to a server chosen at random from the servers list.
-    "timeout": 15
-  },
-
-  # The list of files configurations
-  "files": [
-    {
-        "paths": [
-            "/var/log/compass/celery.log"
-        ]
-    }
-    # An array of hashes. Each hash tells what paths to watch and
-    # what fields to annotate on events from those paths.
-    #{
-      #"paths": [
-        # single paths are fine
-        #"/var/log/messages",
-        # globs are fine too, they will be periodically evaluated
-        # to see if any new files match the wildcard.
-        #"/var/log/*.log"
-      #],
-
-      # A dictionary of fields to annotate on each event.
-      #"fields": { "type": "syslog" }
-    #}, {
-      # A path of "-" means stdin.
-      #"paths": [ "-" ],
-      #"fields": { "type": "stdin" }
-    #}, {
-      #"paths": [
-        #"/var/log/apache/httpd-*.log"
-      #],
-      #"fields": { "type": "apache" }
-    #}
-  ]
-}
diff --git a/misc/logstash-forwarder/logstash-forwarder.crt b/misc/logstash-forwarder/logstash-forwarder.crt
deleted file mode 100644
index 90f66b17..00000000
--- a/misc/logstash-forwarder/logstash-forwarder.crt
+++ /dev/null
@@ -1,29 +0,0 @@
------BEGIN CERTIFICATE-----
-MIIFAzCCAuugAwIBAgIJAKrryFncVfJNMA0GCSqGSIb3DQEBCwUAMBgxFjAUBgNV
-BAMMDSouc3RhY2szNjAuaW8wHhcNMTYwODE4MTcwNzEyWhcNMjYwODE2MTcwNzEy
-WjAYMRYwFAYDVQQDDA0qLnN0YWNrMzYwLmlvMIICIjANBgkqhkiG9w0BAQEFAAOC
-Ag8AMIICCgKCAgEAw4p1OVw8tMeYfk9828FiRLPhYWwHD2OCVwlKr8P3bl974I/P
-PhYTkrjEEe5SDYCWNcO58MxJ5X1vB2uQGNBBUFMni+KOqbVvcbPLL4Mkf8pjLdzD
-2pItE1X7UQ8p1iYBEyAnLoV4MjA7CJ4MmUtOOcCb6keHWEhyJFOj9IzkTjFCbKuL
-Y0paxayQOFlkuEK2d3Aa2HXgTLh3FFUX3kRqOcGg1uxEs2awf0nwP/NwcyfAgTSe
-6yqVjnb3GLYdy283FqvxW1MrZS9UAxp/tAXRgMT8I9L2wSrjnPmrabBv5I+Kuf0p
-EmLmxedOCTQsRYtYGL7TmySYgGuYtt/4UNKaG9tCPBnRXuMzlRClBDIoDhwLEKzC
-LlE8JKyClNgutMKcrHbWlEJiGxooyDC1H9gwkHTi3w7qF9BYYBhkXFN2Sl0mPk0m
-6NMfhQUAeqI0HlOsAX/HLwSWyRl0Nr2rvVJqgbbHRF18pADitQEuc/koT9qhON5f
-BReYhQZIarwPJ/UBgwgadrP79bvWJ5u9Oga6H7yHf49/UYD3gQCvu3/Hxo/IY6AX
-86eZg1ZObD6J0xpWb5jskVSgugar6Xq/h6iRkX8O3ssUdIyIxsIMhtCgxykSmdQY
-FDEIWGZq2kdEVvF6GR/EYJRxvASI+27TXzuxP1UodQQOXa8xySkKu9U5SqMCAwEA
-AaNQME4wHQYDVR0OBBYEFPLilPT6k6rRlxv9kCTW38VYy5AuMB8GA1UdIwQYMBaA
-FPLilPT6k6rRlxv9kCTW38VYy5AuMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEL
-BQADggIBAAdDy+R0bGCBQgiF2fGunl+AZ8zd0MZbtL4Kv53gunlhyaPQJ3Z+e3GF
-V+Z9BhvMUXE/XN3bsAIZYJekvclysYLBdK1C8n9Rli+AbBSGjwgttRAXeEqaZCbE
-QrNPukRgHThv6hyJNcf1TnR70xCBlcYOGQkEqWx1g0xrsG8ryGbum0BAG0YWLCYq
-BboP16FGAPjDlb10ysWy7HuGJorf470Kyb2iRfp4PX/zdYbcA8gcggGCT323JwuD
-Qwnd8kyX6+6pNhBJE3gAyPDhqvbFbpmo/Ia5pqmJkL3APee1bVI2itqZB/HnmyZ5
-UCIzqf4uAuEodN6yXiImHt0TagXtL4eEXNE2qjwsFSaHeyP6iXPX5tc8RMHzFQjH
-I3MzROHaeVUxs2rMxETGvq4+DebhGzCBKaJUWfMV6Y1+ovrE0MowcR8nO1Q4YQt3
-to+W5IrjI7zzQ7+4XqZm+Yz1DQ4Kr7s2iyAExvkq7kU5FAow6SLPIaOl7kbas2M4
-fwFisuEQT2Om+hbWWZTJ1T45KU5NjznkPqJZ9dCdyqs2mH7BE4vOkOULq81uFG06
-VnJHcO+wZM1iCLa1hy7F2S4fDTjTBYDcuD5GFkulFLeFH5X7zoPz20OGTRMXZONI
-CHEk1ibp8j/Q6bw1zd0jGm3KDUSx+0/Avfve/e28U4KAdNekrgQf
------END CERTIFICATE-----
diff --git a/misc/logstash-forwarder/logstash-forwarder.repo b/misc/logstash-forwarder/logstash-forwarder.repo
deleted file mode 100644
index 27d68baa..00000000
--- a/misc/logstash-forwarder/logstash-forwarder.repo
+++ /dev/null
@@ -1,6 +0,0 @@
-[logstashforwarder]
-name=logstashforwarder repository
-baseurl=http://packages.elasticsearch.org/logstashforwarder/centos
-gpgcheck=1
-gpgkey=http://packages.elasticsearch.org/GPG-KEY-elasticsearch
-enabled=1
diff --git a/requirements.txt b/requirements.txt
index 0d0a2f2e..dbd7feba 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -13,8 +13,8 @@ itsdangerous
 importlib
 lazypy
 lockfile
-netaddr
 MySQL-python
+netaddr
 paramiko
 PyChef
 python-daemon!=2.0,!=2.0.1,!=2.0.2,!=2.0.3
diff --git a/service/compass-celeryd b/service/compass-celeryd
index 9588ce48..196ab070 100755
--- a/service/compass-celeryd
+++ b/service/compass-celeryd
@@ -48,22 +48,22 @@ start() {
         RETVAL=$?
     fi
     echo
-#    retries=0
-#    max_retries=10
-#    output=''
-#    while [ $retries -lt $max_retries ]; do
-#      output=$(C_FORCE_ROOT=1 CELERY_CONFIG_MODULE=compass.utils.celeryconfig_wrapper $CELERY status 2&>1)
-#      RETVAL=$?
-#      if [ "$RETVAL" == "0" ]; then
-#          break
-#      else
-#          sleep 10
-#      fi
-#      let retries=${retries}+1
-#    done
-#    if [ "$RETVAL" != "0" ]; then
-#        echo output
-#    fi
+    retries=0
+    max_retries=10
+    output=''
+    while [ $retries -lt $max_retries ]; do
+      output=$(C_FORCE_ROOT=1 CELERY_CONFIG_MODULE=compass.utils.celeryconfig_wrapper $CELERY status 2&>1)
+      RETVAL=$?
+      if [ "$RETVAL" == "0" ]; then
+          break
+      else
+          sleep 10
+      fi
+      let retries=${retries}+1
+    done
+    if [ "$RETVAL" != "0" ]; then
+        echo output
+    fi
     return $RETVAL
 }
 
@@ -104,10 +104,10 @@ case "$1" in
             status -p /var/run/celery-worker.pid $CELERY
             RETVAL=$?
         fi
-#        if [ "$RETVAL" == "0" ]; then
-#            C_FORCE_ROOT=1 CELERY_CONFIG_MODULE=compass.utils.celeryconfig_wrapper $CELERY status
-#            RETVAL=$?
-#        fi
+        if [ "$RETVAL" == "0" ]; then
+            C_FORCE_ROOT=1 CELERY_CONFIG_MODULE=compass.utils.celeryconfig_wrapper $CELERY status
+            RETVAL=$?
+        fi
         ;;
     *)
         echo "Usage: $0 {start|stop|status|restart}"
diff --git a/tox.ini b/tox.ini
index f8c6fcdb..a537cd04 100644
--- a/tox.ini
+++ b/tox.ini
@@ -28,7 +28,7 @@ commands = {posargs}
 commands = python setup.py testr --coverage --testr-args='{posargs}'
 
 [flake8]
-ignore = H302,H304,H233,H803,F401,H104,H236,H237,H238,E501
+ignore = H302,H304,H233,H803,F401,H104,H236,H237,H238
 show-source = true
 builtins = _
 exclude=.venv,.git,.tox,dist,doc,*lib/python*,*egg,tools,build