Espinoza Guillermo il y a 6 ans
Parent
commit
02f8777f3e

+ 7 - 7
1.3.0/Dockerfile

@@ -41,18 +41,18 @@ RUN cd rabbitmq-c/build && make  && make install
 RUN git clone https://github.com/akalend/amqpcpp
 RUN cd amqpcpp && make && make install
 
-RUN cp /usr/local/lib/x86_64-linux-gnu/librabbitmq.* /usr/local/lib/
+RUN cp -P /usr/local/lib/x86_64-linux-gnu/librabbitmq.* /usr/local/lib/
 RUN cp amqpcpp/libamqpcpp.a /usr/local/lib/libamqpcpp.a
 RUN cp amqpcpp/libamqpcpp.so /usr/local/lib/libamqpcpp.so
 RUN ldconfig
 
 COPY hook/ hook/
-RUN cd hook/dhcp && make
+RUN cd hook/amqp && make
+
+RUN wget -O libzdb-3.1.tar.gz http://www.tildeslash.com/libzdb/dist/libzdb-3.1.tar.gz
+RUN tar xvzf libzdb-3.1.tar.gz
+RUN cd libzdb-3.1 && ./configure --without-postgresql --without-sqlite && make && make install
 
 COPY script.sh /opt/script.sh
 RUN chmod +x /opt/script.sh
-
-RUN apt install -yq python-pip supervisor
-RUN pip install superfsmon
-
-CMD /usr/local/sbin/kea-dhcp4 -c /usr/local/etc/kea/kea-dhcp4.conf
+CMD /opt/script.sh

1.3.0/hook/dhcp/Makefile → 1.3.0/hook/amqp/Makefile


1.3.0/hook/dhcp/src/amqppublisher.cc → 1.3.0/hook/amqp/src/amqppublisher.cc


1.3.0/hook/dhcp/src/amqppublisher.h → 1.3.0/hook/amqp/src/amqppublisher.h


+ 0 - 36
1.4.0/hook/dhcp/src/callouts.cc

@@ -61,9 +61,7 @@ int subnet4_select(CalloutHandle& handle) {
     Pkt4Ptr query;
     Subnet4Ptr subnet;
     handle.getArgument("query4", query);
-    extract_query4(env, query);
     handle.getArgument("subnet4", subnet);
-    extract_subnet4(env, subnet);
     
     amqp.publish(query->toText());
     amqp.publish(subnet->toText());
@@ -78,13 +76,9 @@ int lease4_select(CalloutHandle& handle) {
     bool fake_allocation;
     Lease4Ptr lease;
     handle.getArgument("query4", query);
-    extract_query4(env, query);
     handle.getArgument("subnet4", subnet);
-    extract_subnet4(env, subnet);
     handle.getArgument("fake_allocation", fake_allocation);
-    extract_bool(env, "KEA_FAKE_ALLOCATION", fake_allocation);
     handle.getArgument("lease4", lease);
-    extract_lease4(env, lease);
     
     amqp.publish(query->toText());
     amqp.publish(subnet->toText());
@@ -99,11 +93,8 @@ int lease4_renew(CalloutHandle& handle) {
     Subnet4Ptr subnet;
     Lease4Ptr lease;
     handle.getArgument("query4", query);
-    extract_query4(env, query);
     handle.getArgument("subnet4", subnet);
-    extract_subnet4(env, subnet);
     handle.getArgument("lease4", lease);
-    extract_lease4(env, lease);
     
     amqp.publish(query->toText());
     amqp.publish(subnet->toText());
@@ -117,9 +108,7 @@ int lease4_release(CalloutHandle& handle) {
     Pkt4Ptr query;
     Lease4Ptr lease;
     handle.getArgument("query4", query);
-    extract_query4(env, query);
     handle.getArgument("lease4", lease);
-    extract_lease4(env, lease);
     
     amqp.publish(query->toText());
     amqp.publish(lease->toText());
@@ -132,9 +121,7 @@ int lease4_decline(CalloutHandle& handle) {
     Pkt4Ptr query;
     Lease4Ptr lease;
     handle.getArgument("query4", query);
-    extract_query4(env, query);
     handle.getArgument("lease4", lease);
-    extract_lease4(env, lease);
     
     amqp.publish(query->toText());
     amqp.publish(lease->toText());
@@ -147,9 +134,7 @@ int lease4_expire(CalloutHandle& handle) {
     Lease4Ptr lease;
     bool remove_lease;
     handle.getArgument("lease4", lease);
-    extract_lease4(env, lease);
     handle.getArgument("remove_lease", remove_lease);
-    extract_bool(env, "KEA_REMOVE_LEASE", remove_lease);
     
     amqp.publish(lease->toText());
     
@@ -160,7 +145,6 @@ int lease4_recover(CalloutHandle& handle) {
     std::vector<std::string> env;
     Lease4Ptr lease;
     handle.getArgument("lease4", lease);
-    extract_lease4(env, lease);
     
     amqp.publish(lease->toText());
     
@@ -172,7 +156,6 @@ int pkt6_receive(CalloutHandle& handle) {
     std::vector<std::string> env;
     Pkt6Ptr query;
     handle.getArgument("query6", query);
-    extract_query6(env, query);
     
     amqp.publish(query->toText());
     
@@ -183,9 +166,7 @@ int pkt6_send(CalloutHandle& handle) {
     std::vector<std::string> env;
     Pkt6Ptr query, response;
     handle.getArgument("query6", query);
-    extract_query6(env, query);
     handle.getArgument("response6", response);
-    extract_response6(env, response);
     
     amqp.publish(query->toText());
     amqp.publish(response->toText());
@@ -198,9 +179,7 @@ int subnet6_select(CalloutHandle& handle) {
     Pkt6Ptr query;
     Subnet6Ptr subnet;
     handle.getArgument("query6", query);
-    extract_query6(env, query);
     handle.getArgument("subnet6", subnet);
-    extract_subnet6(env, subnet);
     
     amqp.publish(query->toText());
     amqp.publish(subnet->toText());
@@ -215,13 +194,9 @@ int lease6_select(CalloutHandle& handle) {
     bool fake_allocation;
     Lease6Ptr lease;
     handle.getArgument("query6", query);
-    extract_query6(env, query);
     handle.getArgument("subnet6", subnet);
-    extract_subnet6(env, subnet);
     handle.getArgument("fake_allocation", fake_allocation);
-    extract_bool(env, "KEA_FAKE_ALLOCATION", fake_allocation);
     handle.getArgument("lease6", lease);
-    extract_lease6(env, lease);
     
     amqp.publish(query->toText());
     amqp.publish(subnet->toText());
@@ -237,9 +212,7 @@ int lease6_renew(CalloutHandle& handle) {
     boost::shared_ptr<Option6IA> ia_na;
     boost::shared_ptr<Option6IA> ia_pd;
     handle.getArgument("query6", query);
-    extract_query6(env, query);
     handle.getArgument("lease6", lease);
-    extract_lease6(env, lease);
     
     amqp.publish(query->toText());
     amqp.publish(lease->toText());
@@ -264,9 +237,7 @@ int lease6_rebind(CalloutHandle& handle) {
     boost::shared_ptr<Option6IA> ia_na;
     boost::shared_ptr<Option6IA> ia_pd;
     handle.getArgument("query6", query);
-    extract_query6(env, query);
     handle.getArgument("lease6", lease);
-    extract_lease6(env, lease);
     
     amqp.publish(query->toText());
     amqp.publish(lease->toText());
@@ -289,9 +260,7 @@ int lease6_decline(CalloutHandle& handle) {
     Pkt6Ptr query;
     Lease6Ptr lease;
     handle.getArgument("query6", query);
-    extract_query6(env, query);
     handle.getArgument("lease6", lease);
-    extract_lease6(env, lease);
     
     amqp.publish(query->toText());
     amqp.publish(lease->toText());
@@ -304,9 +273,7 @@ int lease6_release(CalloutHandle& handle) {
     Pkt6Ptr query;
     Lease6Ptr lease;
     handle.getArgument("query6", query);
-    extract_query6(env, query);
     handle.getArgument("lease6", lease);
-    extract_lease6(env, lease);
     
     amqp.publish(query->toText());
     amqp.publish(lease->toText());
@@ -319,9 +286,7 @@ int lease6_expire(CalloutHandle& handle) {
     Lease6Ptr lease;
     bool remove_lease;
     handle.getArgument("lease6", lease);
-    extract_lease6(env, lease);
     handle.getArgument("remove_lease", remove_lease);
-    extract_bool(env, "KEA_REMOVE_LEASE", remove_lease);
     
     amqp.publish(lease->toText());
     
@@ -332,7 +297,6 @@ int lease6_recover(CalloutHandle& handle) {
     std::vector<std::string> env;
     Lease6Ptr lease;
     handle.getArgument("lease6", lease);
-    extract_lease6(env, lease);
     
     amqp.publish(lease->toText());
     

1.3.0/hook/dhcp/src/common.h → 1.3.0/hook/amqp/src/common.h


1.3.0/hook/dhcp/src/load.cc → 1.3.0/hook/amqp/src/load.cc


1.3.0/hook/dhcp/src/logger.cc → 1.3.0/hook/amqp/src/logger.cc


1.3.0/hook/dhcp/src/logger.h → 1.3.0/hook/amqp/src/logger.h


1.3.0/hook/dhcp/src/messages.mes → 1.3.0/hook/amqp/src/messages.mes


1.3.0/hook/dhcp/src/version.cc → 1.3.0/hook/amqp/src/version.cc


+ 8 - 10
1.4.0/Dockerfile

@@ -41,21 +41,19 @@ RUN cd rabbitmq-c/build && make  && make install
 RUN git clone https://github.com/akalend/amqpcpp
 RUN cd amqpcpp && make && make install
 
-RUN cp /usr/local/lib/x86_64-linux-gnu/librabbitmq.* /usr/local/lib/
+RUN cp -P /usr/local/lib/x86_64-linux-gnu/librabbitmq.* /usr/local/lib/
 RUN cp amqpcpp/libamqpcpp.a /usr/local/lib/libamqpcpp.a
 RUN cp amqpcpp/libamqpcpp.so /usr/local/lib/libamqpcpp.so
 RUN ldconfig
 
 COPY hook/ hook/
-RUN cd hook/dhcp && make
+RUN cd hook/amqp && make
+
+RUN wget -O libzdb-3.1.tar.gz http://www.tildeslash.com/libzdb/dist/libzdb-3.1.tar.gz
+RUN tar xvzf libzdb-3.1.tar.gz
+RUN cd libzdb-3.1 && ./configure --without-postgresql --without-sqlite && make && make install
 
 COPY script.sh /opt/script.sh
 RUN chmod +x /opt/script.sh
-
-RUN apt install -yq python-pip supervisor
-RUN pip install superfsmon
-
-CMD /usr/local/sbin/kea-dhcp4 -c /usr/local/etc/kea/kea-dhcp4.conf
-
-
-#HEALTHCHECK --interval=5s --timeout=3s CMD pgrep kea-dhcp4
+CMD /opt/script.sh
+HEALTHCHECK --interval=5s --timeout=3s CMD pgrep kea-dhcp4

1.4.0/hook/dhcp/Makefile → 1.4.0/hook/amqp/Makefile


1.4.0/hook/dhcp/src/amqppublisher.cc → 1.4.0/hook/amqp/src/amqppublisher.cc


1.4.0/hook/dhcp/src/amqppublisher.h → 1.4.0/hook/amqp/src/amqppublisher.h


+ 0 - 36
1.3.0/hook/dhcp/src/callouts.cc

@@ -61,9 +61,7 @@ int subnet4_select(CalloutHandle& handle) {
     Pkt4Ptr query;
     Subnet4Ptr subnet;
     handle.getArgument("query4", query);
-    extract_query4(env, query);
     handle.getArgument("subnet4", subnet);
-    extract_subnet4(env, subnet);
     
     amqp.publish(query->toText());
     amqp.publish(subnet->toText());
@@ -78,13 +76,9 @@ int lease4_select(CalloutHandle& handle) {
     bool fake_allocation;
     Lease4Ptr lease;
     handle.getArgument("query4", query);
-    extract_query4(env, query);
     handle.getArgument("subnet4", subnet);
-    extract_subnet4(env, subnet);
     handle.getArgument("fake_allocation", fake_allocation);
-    extract_bool(env, "KEA_FAKE_ALLOCATION", fake_allocation);
     handle.getArgument("lease4", lease);
-    extract_lease4(env, lease);
     
     amqp.publish(query->toText());
     amqp.publish(subnet->toText());
@@ -99,11 +93,8 @@ int lease4_renew(CalloutHandle& handle) {
     Subnet4Ptr subnet;
     Lease4Ptr lease;
     handle.getArgument("query4", query);
-    extract_query4(env, query);
     handle.getArgument("subnet4", subnet);
-    extract_subnet4(env, subnet);
     handle.getArgument("lease4", lease);
-    extract_lease4(env, lease);
     
     amqp.publish(query->toText());
     amqp.publish(subnet->toText());
@@ -117,9 +108,7 @@ int lease4_release(CalloutHandle& handle) {
     Pkt4Ptr query;
     Lease4Ptr lease;
     handle.getArgument("query4", query);
-    extract_query4(env, query);
     handle.getArgument("lease4", lease);
-    extract_lease4(env, lease);
     
     amqp.publish(query->toText());
     amqp.publish(lease->toText());
@@ -132,9 +121,7 @@ int lease4_decline(CalloutHandle& handle) {
     Pkt4Ptr query;
     Lease4Ptr lease;
     handle.getArgument("query4", query);
-    extract_query4(env, query);
     handle.getArgument("lease4", lease);
-    extract_lease4(env, lease);
     
     amqp.publish(query->toText());
     amqp.publish(lease->toText());
@@ -147,9 +134,7 @@ int lease4_expire(CalloutHandle& handle) {
     Lease4Ptr lease;
     bool remove_lease;
     handle.getArgument("lease4", lease);
-    extract_lease4(env, lease);
     handle.getArgument("remove_lease", remove_lease);
-    extract_bool(env, "KEA_REMOVE_LEASE", remove_lease);
     
     amqp.publish(lease->toText());
     
@@ -160,7 +145,6 @@ int lease4_recover(CalloutHandle& handle) {
     std::vector<std::string> env;
     Lease4Ptr lease;
     handle.getArgument("lease4", lease);
-    extract_lease4(env, lease);
     
     amqp.publish(lease->toText());
     
@@ -172,7 +156,6 @@ int pkt6_receive(CalloutHandle& handle) {
     std::vector<std::string> env;
     Pkt6Ptr query;
     handle.getArgument("query6", query);
-    extract_query6(env, query);
     
     amqp.publish(query->toText());
     
@@ -183,9 +166,7 @@ int pkt6_send(CalloutHandle& handle) {
     std::vector<std::string> env;
     Pkt6Ptr query, response;
     handle.getArgument("query6", query);
-    extract_query6(env, query);
     handle.getArgument("response6", response);
-    extract_response6(env, response);
     
     amqp.publish(query->toText());
     amqp.publish(response->toText());
@@ -198,9 +179,7 @@ int subnet6_select(CalloutHandle& handle) {
     Pkt6Ptr query;
     Subnet6Ptr subnet;
     handle.getArgument("query6", query);
-    extract_query6(env, query);
     handle.getArgument("subnet6", subnet);
-    extract_subnet6(env, subnet);
     
     amqp.publish(query->toText());
     amqp.publish(subnet->toText());
@@ -215,13 +194,9 @@ int lease6_select(CalloutHandle& handle) {
     bool fake_allocation;
     Lease6Ptr lease;
     handle.getArgument("query6", query);
-    extract_query6(env, query);
     handle.getArgument("subnet6", subnet);
-    extract_subnet6(env, subnet);
     handle.getArgument("fake_allocation", fake_allocation);
-    extract_bool(env, "KEA_FAKE_ALLOCATION", fake_allocation);
     handle.getArgument("lease6", lease);
-    extract_lease6(env, lease);
     
     amqp.publish(query->toText());
     amqp.publish(subnet->toText());
@@ -237,9 +212,7 @@ int lease6_renew(CalloutHandle& handle) {
     boost::shared_ptr<Option6IA> ia_na;
     boost::shared_ptr<Option6IA> ia_pd;
     handle.getArgument("query6", query);
-    extract_query6(env, query);
     handle.getArgument("lease6", lease);
-    extract_lease6(env, lease);
     
     amqp.publish(query->toText());
     amqp.publish(lease->toText());
@@ -264,9 +237,7 @@ int lease6_rebind(CalloutHandle& handle) {
     boost::shared_ptr<Option6IA> ia_na;
     boost::shared_ptr<Option6IA> ia_pd;
     handle.getArgument("query6", query);
-    extract_query6(env, query);
     handle.getArgument("lease6", lease);
-    extract_lease6(env, lease);
     
     amqp.publish(query->toText());
     amqp.publish(lease->toText());
@@ -289,9 +260,7 @@ int lease6_decline(CalloutHandle& handle) {
     Pkt6Ptr query;
     Lease6Ptr lease;
     handle.getArgument("query6", query);
-    extract_query6(env, query);
     handle.getArgument("lease6", lease);
-    extract_lease6(env, lease);
     
     amqp.publish(query->toText());
     amqp.publish(lease->toText());
@@ -304,9 +273,7 @@ int lease6_release(CalloutHandle& handle) {
     Pkt6Ptr query;
     Lease6Ptr lease;
     handle.getArgument("query6", query);
-    extract_query6(env, query);
     handle.getArgument("lease6", lease);
-    extract_lease6(env, lease);
     
     amqp.publish(query->toText());
     amqp.publish(lease->toText());
@@ -319,9 +286,7 @@ int lease6_expire(CalloutHandle& handle) {
     Lease6Ptr lease;
     bool remove_lease;
     handle.getArgument("lease6", lease);
-    extract_lease6(env, lease);
     handle.getArgument("remove_lease", remove_lease);
-    extract_bool(env, "KEA_REMOVE_LEASE", remove_lease);
     
     amqp.publish(lease->toText());
     
@@ -332,7 +297,6 @@ int lease6_recover(CalloutHandle& handle) {
     std::vector<std::string> env;
     Lease6Ptr lease;
     handle.getArgument("lease6", lease);
-    extract_lease6(env, lease);
     
     amqp.publish(lease->toText());
     

1.4.0/hook/dhcp/src/common.h → 1.4.0/hook/amqp/src/common.h


1.4.0/hook/dhcp/src/load.cc → 1.4.0/hook/amqp/src/load.cc


1.4.0/hook/dhcp/src/logger.cc → 1.4.0/hook/amqp/src/logger.cc


1.4.0/hook/dhcp/src/logger.h → 1.4.0/hook/amqp/src/logger.h


1.4.0/hook/dhcp/src/messages.mes → 1.4.0/hook/amqp/src/messages.mes


1.4.0/hook/dhcp/src/version.cc → 1.4.0/hook/amqp/src/version.cc