Analyzing Kura Logs in CloudService MQTT

This note is about how to understand basic action in kura logs so I asume you have installed kura and mqtt working in your IoT stuff.

BeaconScanner Item

The beaconScanner is a openSource project and you can use the default code or tune your code , in this example we use the default.

The beaconScanner use the bluetooth device so we have this process running maybe it depends hardware.

 

root@rg-10-20-s0:~# ps auxww|grep -i hcidump |grep -v grep
root 12136 0.0 0.0 2132 432 ? S 22:25 0:00 hcidump -i hci0 -R -w /dev/fd/3
root@rg-10-20-s0:~#

Then you can start your BeaconScanner

018-06-10 22:35:23,923 [qtp3671452-143] WARN o.e.k.n.a.v.l.WpaSupplicantConfigReader - WPA in client mode is not configured
2018-06-10 22:35:23,930 [qtp3671452-143] WARN o.e.k.n.a.v.l.PppConfigReader - getModemConfig() :: PPPD peer file does not exist - /etc/ppp/peers/HE910-D_2-1.5
2018-06-10 22:35:24,144 [qtp3671452-143] INFO o.e.k.c.c.ConfigurationServiceImpl - Loading init configurations from: 1528669870428...
2018-06-10 22:35:24,552 [qtp3671452-143] INFO o.e.k.c.c.ConfigurationServiceImpl - Merging configuration for pid: org.eclipse.kura.example.beacon.scanner.BeaconScannerExample
2018-06-10 22:35:24,561 [qtp3671452-143] INFO o.e.k.c.c.ConfigurationServiceImpl - Updating Configuration of ConfigurableComponent org.eclipse.kura.example.beacon.scanner.BeaconScannerExample ... Done.
2018-06-10 22:35:24,597 [Component Resolve Thread (Bundle 6)] INFO o.e.k.l.b.l.BluetoothLeScanner - Starting bluetooth le beacon scan...
2018-06-10 22:35:24,788 [qtp3671452-143] INFO o.e.k.c.c.ConfigurationServiceImpl - Writing snapshot - Saving /opt/eurotech/esf/data/snapshots/snapshot_1528670124562.xml...
2018-06-10 22:35:25,372 [qtp3671452-143] INFO o.e.k.c.c.ConfigurationServiceImpl - Writing snapshot - Saving /opt/eurotech/esf/data/snapshots/snapshot_1528670124562.xml... Done.
2018-06-10 22:35:25,375 [qtp3671452-143] INFO o.e.k.c.c.ConfigurationServiceImpl - Snapshots Garbage Collector. Deleting /opt/eurotech/esf/data/snapshots/snapshot_1528665378674.xml
2018-06-10 22:35:25,839 [qtp3671452-147] WARN o.e.k.n.a.v.l.WpaSupplicantConfigReader - WPA in client mode is not configured
2018-06-10 22:35:25,845 [qtp3671452-147] WARN o.e.k.n.a.v.l.PppConfigReader - getModemConfig() :: PPPD peer file does not exist - /etc/ppp/peers/HE910-D_2-1.5
2018-06-10 22:35:26,062 [BluetoothProcess BTSnoop Gobbler] INFO o.e.k.c.d.DataServiceImpl - Storing message on topic :#account-name/#client-id/BeaconScannerExample/beacons/AC:23:3F:24:9A:C6, priority: 5
2018-06-10 22:35:26,068 [BluetoothProcess BTSnoop Gobbler] INFO o.e.k.c.d.DataServiceImpl - Stored message on topic :#account-name/#client-id/BeaconScannerExample/beacons/AC:23:3F:24:9A:C6, priority: 5
2018-06-10 22:35:26,081 [DataServiceImpl:Submit] INFO o.e.k.c.d.DataServiceImpl - DataPublisherService not connecte
d

The bold text show you the most important stuff, where the messages is stored, two first bold messages, then try to connect to cloud service (mqtt broker)
The third bold messages is about cloud service, from now is off.

#account-name/#client-id/BeaconScannerExample/beacons/AC:23:3F:24:9A:C6 This is the TOPIC, the two first level are set in the kura dashboard the other one are set in the beaconScanner code.

Then after start beaconScanner two new process appear in order to use bluetooth command.
root 13218 0.0 0.0 1588 160 ? S 22:35 0:00 hcitool -i hci0 lescan-passive --duplicates
root 13220 0.0 0.2 2896 1184 ? S 22:35 0:00 /bin/bash /tmp/BluetoothUtil.btsnoopdump.sh hci0
root 13222 0.0 0.0 2132 432 ? S 22:35 0:00 hcidump -i hci0 -R -w /dev/fd/3

If we stop the beaconScanner now, those process must be killed.

2018-06-10 22:48:41,896 [Component Resolve Thread (Bundle 6)] INFO o.e.k.l.b.l.BluetoothLeScanner - Killing hcitool...
2018-06-10 22:48:41,956 [Component Resolve Thread (Bundle 6)] INFO o.e.k.l.b.l.BluetoothLeScanner - Killing btdump...
2018-06-10 22:48:41,956 [Component Resolve Thread (Bundle 6)] INFO o.e.k.l.b.u.BluetoothProcess - Closing streams and killing...

Then just only appear…

root 13222 0.0 0.0 2132 432 ? S 22:35 0:00 hcidump -i hci0 -R -w /dev/fd/3

So if you start the beaconScanner then you remove battery the logs show do not show you anymore this Beacon or if you move this beacon so far away from the scanner.

CLOUDSERVICE
This is thew way where you connect to a broker, using different protocols or services, in this case I m using the same broker created in previous post.
Let start to connect our cloud service from your kura dashboard and then checks logs.(remember we have beaconscanner running but no one beacon are on or near my scanner).

2018-06-10 22:54:20,096 [qtp3671452-42] INFO o.e.k.c.d.DataServiceImpl - Reconnect task running. Stopping it
2018-06-10 22:54:20,097 [qtp3671452-42] INFO o.e.k.c.d.t.m.MqttDataTransport - Creating a new client instance
2018-06-10 22:54:20,098 [qtp3671452-42] INFO o.e.k.c.d.t.m.MqttDataTransport - Using memory persistence for in-flight messages
2018-06-10 22:54:20,099 [qtp3671452-42] INFO o.e.k.c.d.t.m.MqttDataTransport - # ------------------------------------------------------------
2018-06-10 22:54:20,100 [qtp3671452-42] INFO o.e.k.c.d.t.m.MqttDataTransport - # Connection Properties
2018-06-10 22:54:20,101 [qtp3671452-42] INFO o.e.k.c.d.t.m.MqttDataTransport - # broker = ws://www.itrestauracion.com.ar:9001
2018-06-10 22:54:20,102 [qtp3671452-42] INFO o.e.k.c.d.t.m.MqttDataTransport - # clientId = baticueva
2018-06-10 22:54:20,103 [qtp3671452-42] INFO o.e.k.c.d.t.m.MqttDataTransport - # username = batman
2018-06-10 22:54:20,103 [qtp3671452-42] INFO o.e.k.c.d.t.m.MqttDataTransport - # password = XXXXXXXXXXXXXX
2018-06-10 22:54:20,104 [qtp3671452-42] INFO o.e.k.c.d.t.m.MqttDataTransport - # keepAlive = 30
2018-06-10 22:54:20,105 [qtp3671452-42] INFO o.e.k.c.d.t.m.MqttDataTransport - # timeout = 20
2018-06-10 22:54:20,105 [qtp3671452-42] INFO o.e.k.c.d.t.m.MqttDataTransport - # cleanSession = true
2018-06-10 22:54:20,106 [qtp3671452-42] INFO o.e.k.c.d.t.m.MqttDataTransport - # MQTT version = 3.1.1
2018-06-10 22:54:20,106 [qtp3671452-42] INFO o.e.k.c.d.t.m.MqttDataTransport - # willDestination = dc/batman/baticueva
2018-06-10 22:54:20,107 [qtp3671452-42] INFO o.e.k.c.d.t.m.MqttDataTransport - # willMessage =
2018-06-10 22:54:20,108 [qtp3671452-42] INFO o.e.k.c.d.t.m.MqttDataTransport - #
2018-06-10 22:54:20,109 [qtp3671452-42] INFO o.e.k.c.d.t.m.MqttDataTransport - # Connecting...
2018-06-10 22:54:21,206 [qtp3671452-42] INFO o.e.k.c.d.t.m.MqttDataTransport - # Connected!
2018-06-10 22:54:21,206 [qtp3671452-42] INFO o.e.k.c.d.t.m.MqttDataTransport - # ------------------------------------------------------------
2018-06-10 22:54:21,207 [qtp3671452-42] INFO o.e.k.c.d.DataServiceImpl - Notified connected
2018-06-10 22:54:21,207 [qtp3671452-42] INFO o.e.k.c.d.DataServiceImpl - New session established. Unpublishing all in-flight messages. Disregarding the QoS level, this may cause duplicate messages.
2018-06-10 22:54:21,217 [qtp3671452-42] INFO o.e.k.c.d.t.m.MqttDataTransport - Subscribing to topic: dc/dc/batman/baticueva/# with QoS: 1
2018-06-10 22:54:21,609 [qtp3671452-42] INFO o.e.k.c.Cloudlet - Cloud Client Connection Restored
2018-06-10 22:54:21,610 [qtp3671452-42] INFO o.e.k.c.Cloudlet - Cloud Client Connection Restored
2018-06-10 22:54:21,611 [qtp3671452-42] INFO o.e.k.c.Cloudlet - Cloud Client Connection Restored
2018-06-10 22:54:21,612 [qtp3671452-42] INFO o.e.k.c.Cloudlet - Cloud Client Connection Restored
2018-06-10 22:54:21,612 [qtp3671452-42] INFO o.e.k.c.Cloudlet - Cloud Client Connection Restored
2018-06-10 22:54:21,613 [qtp3671452-42] INFO o.e.k.c.Cloudlet - Cloud Client Connection Restored
2018-06-10 22:54:21,614 [qtp3671452-42] INFO o.e.k.c.p.ProvisioningServiceImpl - onConnectionEstablished
2018-06-10 22:54:21,614 [qtp3671452-42] INFO o.e.k.c.Cloudlet - Cloud Client Connection Restored
2018-06-10 22:54:21,615 [qtp3671452-42] INFO c.e.f.d.i.DiagnosticsServiceImpl - Connection established
2018-06-10 22:54:21,615 [qtp3671452-42] INFO c.e.f.d.i.DiagnosticsServiceImpl - Connection established

Here we have in the top the main data of where are you doing your connection, so you can see a lot of stuff where you set before in your dashboard.
o.e.k.c.d.t.m.MqttDataTransport – Subscribing to topic: dc/dc/batman/baticueva/# with QoS: 1 With this we are acting as subscriber so the mqtt broker are ready to receive any data scanned by our beaconScanner app. And then a lot of services to check connections.

How many messages you see in publishing depends in how you did your configuration in cloud service for kura services and a lot of values like, QoS,etc,etc.Now lets start to put battery to our beacon device.

2018-06-10 23:04:14,568 [BluetoothProcess BTSnoop Gobbler] INFO o.e.k.c.d.DataServiceImpl - Storing message on topic :#account-name/#client-id/BeaconScannerExample/beacons/AC:23:3F:24:9A:C6, priority: 5
2018-06-10 23:04:14,574 [BluetoothProcess BTSnoop Gobbler] INFO o.e.k.c.d.DataServiceImpl - Stored message on topic :#account-name/#client-id/BeaconScannerExample/beacons/AC:23:3F:24:9A:C6, priority: 5
2018-06-10 23:04:14,577 [DataServiceImpl:Submit] INFO o.e.k.c.d.t.m.MqttDataTransport - Publishing message on topic: dc/batman/baticueva/BeaconScannerExample/beacons/AC:23:3F:24:9A:C6 with QoS: 0
2018-06-10 23:04:26,382 [BluetoothProcess BTSnoop Gobbler] INFO o.e.k.c.d.DataServiceImpl - Storing message on topic :#account-name/#client-id/BeaconScannerExample/beacons/AC:23:3F:24:9A:C6, priority: 5
2018-06-10 23:04:26,385 [BluetoothProcess BTSnoop Gobbler] INFO o.e.k.c.d.DataServiceImpl - Stored message on topic :#account-name/#client-id/BeaconScannerExample/beacons/AC:23:3F:24:9A:C6, priority: 5
2018-06-10 23:04:26,388 [DataServiceImpl:Submit] INFO o.e.k.c.d.t.m.MqttDataTransport - Publishing message on topic: dc/batman/baticueva/BeaconScannerExample/beacons/AC:23:3F:24:9A:C6 with QoS: 0

1528671854: Received PUBLISH from baticueva (d0, q0, r0, m0, ‘dc/batman/baticueva/BeaconScannerExample/beacons/AC:23:3F:24:9A:C6’, … (129 bytes))
1528671866: Received PUBLISH from baticueva (d0, q0, r0, m0, ‘dc/batman/baticueva/BeaconScannerExample/beacons/AC:23:3F:24:9A:C6’, … (128 bytes))

Yo can see now that our beaconScanner detect and publish your messages.

Here we established a connection wit mqttlen client form MacOSX

Those logs are from mqtt docker logs, you can check how mqtt broker send and receive data.
1528671933: New client connected from 45.232.92.159 as maquina (c1, k120, u'batman').
1528671933: Sending CONNACK to maquina (0, 0)
1528671947: Received SUBSCRIBE from maquina
1528671947: dc/batman/baticueva/# (QoS 0)
1528671947: maquina 0 dc/batman/baticueva/#
1528671947: Sending SUBACK to maquina

Now you can check we have the client maquina that is my machine that works as subscriber getting al messages that my IOT device send to my mqtt broker.
So we have two subscriber, my broker and my client.
The beacon scanner detect the beacon and send it to my IOT that subscribe all incoming beacon detection and my client maquina connect to the broker only to specific topic, so it is the reason why we have received and sending in each cases.

1528671956: Received PINGREQ from baticueva
1528671956: Sending PINGRESP to baticueva
1528671970: Received PUBLISH from baticueva (d0, q0, r0, m0, 'dc/batman/baticueva/BeaconScannerExample/beacons/AC:23:3F:24:9A:C6', ... (129 bytes))
1528671970: Sending PUBLISH to maquina (d0, q0, r0, m0, 'dc/batman/baticueva/BeaconScannerExample/beacons/AC:23:3F:24:9A:C6', ... (129 bytes))

We detect the second beacon, store wit topic and store message and then send topic to brocker, The process housekeeper delete all confirmed messages.

2018-06-10 23:06:10,629 [BluetoothProcess BTSnoop Gobbler] INFO o.e.k.c.d.DataServiceImpl - Storing message on topic :#account-name/#client-id/BeaconScannerExample/beacons/AC:23:3F:24:9A:C6, priority: 5
2018-06-10 23:06:10,632 [BluetoothProcess BTSnoop Gobbler] INFO o.e.k.c.d.DataServiceImpl - Stored message on topic :#account-name/#client-id/BeaconScannerExample/beacons/AC:23:3F:24:9A:C6, priority: 5
2018-06-10 23:06:10,635 [DataServiceImpl:Submit] INFO o.e.k.c.d.t.m.MqttDataTransport - Publishing message on topic: dc/batman/baticueva/BeaconScannerExample/beacons/AC:23:3F:24:9A:C6 with QoS: 0
2018-06-10 23:09:04,357 [HouseKeeperTask] INFO o.e.k.c.d.s.HouseKeeperTask - HouseKeeperTask started.
2018-06-10 23:09:04,357 [HouseKeeperTask] INFO o.e.k.c.d.s.HouseKeeperTask - HouseKeeperTask: Delete confirmed messages...
2018-06-10 23:09:04,441 [HouseKeeperTask] INFO o.e.k.c.d.s.HouseKeeperTask - HouseKeeperTask ended.

Now we can put the battery again and just wait a while in order to publish hundred of messages….
After that test, try to remove battery or go far away with your beacon and the logs will stop, then go back with beacon and stop cloud service in order to scan beacon and store it.

2018-06-10 23:24:42,546 [qtp3671452-147] WARN o.e.k.n.a.v.l.WpaSupplicantConfigReader - WPA in client mode is not configured
2018-06-10 23:24:42,551 [qtp3671452-147] WARN o.e.k.n.a.v.l.PppConfigReader - getModemConfig() :: PPPD peer file does not exist - /etc/ppp/peers/HE910-D_2-1.5
2018-06-10 23:24:42,770 [qtp3671452-147] INFO o.e.k.c.c.ConfigurationServiceImpl - Loading init configurations from: 1528671660393...
2018-06-10 23:24:43,181 [qtp3671452-147] INFO o.e.k.c.c.ConfigurationServiceImpl - Merging configuration for pid: org.eclipse.kura.data.DataService
2018-06-10 23:24:43,192 [qtp3671452-147] INFO o.e.k.c.c.ConfigurationServiceImpl - Updating Configuration of ConfigurableComponent org.eclipse.kura.data.DataService ... Done.
2018-06-10 23:24:43,210 [Component Resolve Thread (Bundle 6)] INFO o.e.k.c.d.DataServiceImpl - Updating org.eclipse.kura.data.DataService...
2018-06-10 23:24:43,211 [Component Resolve Thread (Bundle 6)] INFO o.e.k.c.d.DataServiceImpl - Get Throttle with burst length 3 and send a message every 3000 millis
2018-06-10 23:24:43,448 [qtp3671452-147] INFO o.e.k.c.c.ConfigurationServiceImpl - Writing snapshot - Saving /opt/eurotech/esf/data/snapshots/snapshot_1528673083193.xml...
2018-06-10 23:24:43,770 [qtp3671452-147] INFO o.e.k.c.c.ConfigurationServiceImpl - Writing snapshot - Saving /opt/eurotech/esf/data/snapshots/snapshot_1528673083193.xml... Done.
2018-06-10 23:24:43,773 [qtp3671452-147] INFO o.e.k.c.c.ConfigurationServiceImpl - Snapshots Garbage Collector. Deleting /opt/eurotech/esf/data/snapshots/snapshot_1528669530806.xml
2018-06-10 23:24:44,216 [HouseKeeperTask] INFO o.e.k.c.d.s.HouseKeeperTask - HouseKeeperTask started.
2018-06-10 23:24:44,216 [HouseKeeperTask] INFO o.e.k.c.d.s.HouseKeeperTask - HouseKeeperTask: Delete confirmed messages...
2018-06-10 23:24:44,219 [HouseKeeperTask] INFO o.e.k.c.d.s.HouseKeeperTask - HouseKeeperTask ended.
2018-06-10 23:24:51,165 [qtp3671452-146] INFO o.e.k.c.d.t.m.MqttDataTransport - Disconnecting...
2018-06-10 23:24:51,166 [qtp3671452-146] INFO o.e.k.c.d.DataServiceImpl - Notified disconnecting

Stopped CloudService and deactivate te auto start.

we can see now a lot of messages like this.

2018-06-10 23:25:15,886 [BluetoothProcess BTSnoop Gobbler] INFO o.e.k.c.d.DataServiceImpl - Storing message on topic :#account-name/#client-id/BeaconScannerExample/beacons/AC:23:3F:24:9A:C6, priority: 5
2018-06-10 23:25:15,889 [BluetoothProcess BTSnoop Gobbler] INFO o.e.k.c.d.DataServiceImpl - Stored message on topic :#account-name/#client-id/BeaconScannerExample/beacons/AC:23:3F:24:9A:C6, priority: 5
2018-06-10 23:25:15,890 [DataServiceImpl:Submit] INFO o.e.k.c.d.DataServiceImpl - DataPublisherService not connected
2018-06-10 23:25:26,711 [BluetoothProcess BTSnoop Gobbler] INFO o.e.k.c.d.DataServiceImpl - Storing message on topic :#account-name/#client-id/BeaconScannerExample/beacons/AC:23:3F:24:9A:C6, priority: 5
2018-06-10 23:25:26,714 [BluetoothProcess BTSnoop Gobbler] INFO o.e.k.c.d.DataServiceImpl - Stored message on topic :#account-name/#client-id/BeaconScannerExample/beacons/AC:23:3F:24:9A:C6, priority: 5
2018-06-10 23:25:26,715 [DataServiceImpl:Submit] INFO o.e.k.c.d.DataServiceImpl - DataPublisherService not connected
2018-06-10 23:25:37,533 [BluetoothProcess BTSnoop Gobbler] INFO o.e.k.c.d.DataServiceImpl - Storing message on topic :#account-name/#client-id/BeaconScannerExample/beacons/AC:23:3F:24:9A:C6, priority: 5
2018-06-10 23:25:37,536 [BluetoothProcess BTSnoop Gobbler] INFO o.e.k.c.d.DataServiceImpl - Stored message on topic :#account-name/#client-id/BeaconScannerExample/beacons/AC:23:3F:24:9A:C6, priority: 5
2018-06-10 23:25:37,536 [DataServiceImpl:Submit] INFO o.e.k.c.d.DataServiceImpl - DataPublisherService not connected

It is because the beacon is there but the cloud service is inactive.Lets wait to store a some of then and stop beacon scanner.

2018-06-10 23:28:04,818 [Component Resolve Thread (Bundle 6)] INFO o.e.k.l.b.l.BluetoothLeScanner - Killing hcitool...
2018-06-10 23:28:04,884 [Component Resolve Thread (Bundle 6)] INFO o.e.k.l.b.l.BluetoothLeScanner - Killing btdump...
2018-06-10 23:28:04,884 [Component Resolve Thread (Bundle 6)] INFO o.e.k.l.b.u.BluetoothProcess - Closing streams and killing...

Now lets go to connect cloud service again.

So old stored messages are there
2018-06-10 23:28:49,972 [DataServiceImpl:Submit] INFO o.e.k.c.d.t.m.MqttDataTransport - Publishing message on topic: dc/batman/baticueva/BeaconScannerExample/beacons/AC:23:3F:24:9A:C6 with QoS: 0
2018-06-10 23:28:52,972 [DataServiceImpl:Submit] INFO o.e.k.c.d.t.m.MqttDataTransport - Publishing message on topic: dc/batman/baticueva/BeaconScannerExample/beacons/AC:23:3F:24:9A:C6 with QoS: 0
2018-06-10 23:28:55,973 [DataServiceImpl:Submit] INFO o.e.k.c.d.t.m.MqttDataTransport - Publishing message on topic: dc/batman/baticueva/BeaconScannerExample/beacons/AC:23:3F:24:9A:C6 with QoS: 0
2018-06-10 23:28:58,972 [DataServiceImpl:Submit] INFO o.e.k.c.d.t.m.MqttDataTransport - Publishing message on topic: dc/batman/baticueva/BeaconScannerExample/beacons/AC:23:3F:24:9A:C6 with QoS: 0
2018-06-10 23:29:01,972 [DataServiceImpl:Submit] INFO o.e.k.c.d.t.m.MqttDataTransport - Publishing message on topic: dc/batman/baticueva/BeaconScannerExample/beacons/AC:23:3F:24:9A:C6 with QoS: 0
2018-06-10 23:29:04,972 [DataServiceImpl:Submit] INFO o.e.k.c.d.t.m.MqttDataTransport - Publishing message on topic: dc/batman/baticueva/BeaconScannerExample/beacons/AC:23:3F:24:9A:C6 with QoS: 0
2018-06-10 23:29:07,972 [DataServiceImpl:Submit] INFO o.e.k.c.d.t.m.MqttDataTransport - Publishing message on topic: dc/batman/baticueva/BeaconScannerExample/beacons/AC:23:3F:24:9A:C6 with QoS: 0
2018-06-10 23:29:10,972 [DataServiceImpl:Submit] INFO o.e.k.c.d.t.m.MqttDataTransport - Publishing message on topic: dc/batman/baticueva/BeaconScannerExample/beacons/AC:23:3F:24:9A:C6 with QoS: 0
2018-06-10 23:29:13,972 [DataServiceImpl:Submit] INFO o.e.k.c.d.t.m.MqttDataTransport - Publishing message on topic: dc/batman/baticueva/BeaconScannerExample/beacons/AC:23:3F:24:9A:C6 with QoS: 0
2018-06-10 23:29:16,972 [DataServiceImpl:Submit] INFO o.e.k.c.d.t.m.MqttDataTransport - Publishing message on topic: dc/batman/baticueva/BeaconScannerExample/beacons/AC:23:3F:24:9A:C6 with QoS: 0
2018-06-10 23:29:19,972 [DataServiceImpl:Submit] INFO o.e.k.c.d.t.m.MqttDataTransport - Publishing message on topic: dc/batman/baticueva/BeaconScannerExample/beacons/AC:23:3F:24:9A:C6 with QoS: 0
2018-06-10 23:29:22,972 [DataServiceImpl:Submit] INFO o.e.k.c.d.t.m.MqttDataTransport - Publishing message on topic: dc/batman/baticueva/BeaconScannerExample/beacons/AC:23:3F:24:9A:

and we can check that are recived by broker.
1528673328: Received PUBLISH from baticueva (d0, q0, r0, m0, 'dc/batman/baticueva/BeaconScannerExample/beacons/AC:23:3F:24:9A:C6', ... (130 bytes))
1528673328: Sending PUBLISH to maquina (d0, q0, r0, m0, 'dc/batman/baticueva/BeaconScannerExample/beacons/AC:23:3F:24:9A:C6', ... (130 bytes))
1528673329: Received PUBLISH from baticueva (d0, q0, r0, m0, 'dc/batman/baticueva/BeaconScannerExample/beacons/AC:23:3F:24:9A:C6', ... (130 bytes))
1528673329: Sending PUBLISH to maquina (d0, q0, r0, m0, 'dc/batman/baticueva/BeaconScannerExample/beacons/AC:23:3F:24:9A:C6', ... (130 bytes))
1528673329: Received PUBLISH from baticueva (d0, q0, r0, m0, 'dc/batman/baticueva/BeaconScannerExample/beacons/AC:23:3F:24:9A:C6', ... (130 bytes))
1528673329: Sending PUBLISH to maquina (d0, q0, r0, m0, 'dc/batman/baticueva/BeaconScannerExample/beacons/AC:23:3F:24:9A:C6', ... (130 bytes))
1528673330: Received PUBLISH from baticueva (d0, q0, r0, m0, 'dc/batman/baticueva/BeaconScannerExample/beacons/AC:23:3F:24:9A:C6', ... (130 bytes))
1528673330: Sending PUBLISH to maquina (d0, q0, r0, m0, 'dc/batman/baticueva/BeaconScannerExample/beacons/AC:23:3F:24:9A:C6', ... (130 bytes))
1528673333: Received PUBLISH from baticueva (d0, q0, r0, m0, 'dc/batman/baticueva/BeaconScannerExample/beacons/AC:23:3F:24:9A:C6', ... (129 bytes))
1528673333: Sending PUBLISH to maquina (d0, q0, r0, m0, 'dc/batman/baticueva/BeaconScannerExample/beacons/AC:23:3F:24:9A:C6', ... (129 bytes))
1528673336: Received PUBLISH from baticueva (d0, q0, r0, m0, 'dc/batman/baticueva/BeaconScannerExample/beacons/AC:23:3F:24:9A:C6', ... (128 bytes))
1528673336: Sending PUBLISH to maquina (d0, q0, r0, m0, 'dc/batman/baticueva/BeaconScannerExample/beacons/AC:23:3F:24:9A:C6', ... (128 bytes))
1528673339: Received PUBLISH from baticueva (d0, q0, r0, m0, 'dc/batman/baticueva/BeaconScannerExample/beacons/AC:23:3F:24:9A:C6', ... (129 bytes))
1528673339: Sending PUBLISH to maquina (d0, q0, r0, m0, 'dc/batman/baticueva/BeaconScannerExample/beacons/AC:23:3F:24:9A:C6', ... (129 bytes))
1528673342: Received PUBLISH from baticueva (d0, q0, r0, m0, 'dc/batman/baticueva/BeaconScannerExample/beacons/AC:23:3F:24:9A:C6', ... (130 bytes))
1528673342: Sending PUBLISH to maquina (d0, q0, r0, m0, 'dc/batman/baticueva/BeaconScannerExample/beacons/AC:23:3F:24:9A:C6', ... (130 bytes))
1528673345: Received PUBLISH from baticueva (d0, q0, r0, m0, 'dc/batman/baticueva/BeaconScannerExample/beacons/AC:23:3F:24:9A:C6', ... (130 bytes))
1528673345: Sending PUBLISH to maquina (d0, q0, r0, m0, 'dc/batman/baticueva/BeaconScannerExample/beacons/AC:23:3F:24:9A:C6', ... (130 bytes))
1528673348: Received PUBLISH from baticueva (d0, q0, r0, m0, 'dc/batman/baticueva/BeaconScannerExample/beacons/AC:23:3F:24:9A:C6', ... (130 bytes))
1528673348: Sending PUBLISH to maquina (d0, q0, r0, m0, 'dc/batman/baticueva/BeaconScannerExample/beacons/AC:23:3F:24:9A:C6', ... (130 bytes))
1528673351: Received PUBLISH from baticueva (d0, q0, r0, m0, 'dc/batman/baticueva/BeaconScannerExample/beacons/AC:23:3F:24:9A:C6', ... (130 bytes))
1528673351: Sending PUBLISH to maquina (d0, q0, r0, m0, 'dc/batman/baticueva/BeaconScannerExample/beacons/AC:23:3F:24:9A:C6', ... (130 bytes))
1528673354: Received PUBLISH from baticueva (d0, q0, r0, m0, 'dc/batman/baticueva/BeaconScannerExample/beacons/AC:23:3F:24:9A:C6', ... (130 bytes))
1528673354: Sending PUBLISH to maquina (d0, q0, r0, m0, 'dc/batman/baticueva/BeaconScannerExample/beacons/AC:23:3F:24:9A:C6', ... (130 bytes))
1528673357: Received PUBLISH from baticueva (d0, q0, r0, m0, 'dc/batman/baticueva/BeaconScannerExample/beacons/AC:23:3F:24:9A:C6', ... (130 bytes))
1528673357: Sending PUBLISH to maquina (d0, q0, r0, m0, 'dc/batman/baticueva/BeaconScannerExample/beacons/AC:23:3F:24:9A:C6', ... (130 bytes))
1528673360: Received PUBLISH from baticueva (d0, q0, r0, m0, 'dc/batman/baticueva/BeaconScannerExample/beacons/AC:23:3F:24:9A:C6', ... (130 bytes))
1528673360: Sending PUBLISH to maquina (d0, q0, r0, m0, 'dc/batman/baticueva/BeaconScannerExample/beacons/AC:23:3F:24:9A:C6', ... (130 bytes))
1528673363: Received PUBLISH from baticueva (d0, q0, r0, m0, 'dc/batman/baticueva/BeaconScannerExample/beacons/AC:23:3F:24:9A:C6', ... (130 bytes))
1528673363: Sending PUBLISH to maquina (d0, q0, r0, m0, 'dc/batman/baticueva/BeaconScannerExample/beacons/AC:23:3F:24:9A:C6', ... (130 bytes))
1528673366: Received PUBLISH from baticueva (d0, q0, r0, m0, 'dc/batman/baticueva/BeaconScannerExample/beacons/AC:23:3F:24:9A:C6', ... (130 bytes))
1528673366: Sending PUBLISH to maquina (d0, q0, r0, m0, 'dc/batman/baticueva/BeaconScannerExample/beacons/AC:23:3F:24:9A:C6', ... (130 bytes))
1528673369: Received PUBLISH from baticueva (d0, q0, r0, m0, 'dc/batman/baticueva/BeaconScannerExample/beacons/AC:23:3F:24:9A:C6', ... (130 bytes))
1528673369: Sending PUBLISH to maquina (d0, q0, r0, m0, 'dc/batman/baticueva/BeaconScannerExample/beacons/AC:23:3F:24:9A:C6', ... (130 bytes))
1528673374: Received PINGREQ from maquina

And then after a while they stop , because no more messages are in the queue .

And when we start again beaconscanner start again to detect and publish.
2018-06-10 23:31:17,121 [Component Resolve Thread (Bundle 6)] INFO o.e.k.l.b.l.BluetoothLeScanner - Starting bluetooth le beacon scan...
2018-06-10 23:31:17,315 [qtp3671452-147] INFO o.e.k.c.c.ConfigurationServiceImpl - Writing snapshot - Saving /opt/eurotech/esf/data/snapshots/snapshot_1528673477084.xml...
2018-06-10 23:31:17,575 [BluetoothProcess BTSnoop Gobbler] INFO o.e.k.c.d.DataServiceImpl - Storing message on topic :#account-name/#client-id/BeaconScannerExample/beacons/AC:23:3F:24:9A:C6, priority: 5
2018-06-10 23:31:17,581 [BluetoothProcess BTSnoop Gobbler] INFO o.e.k.c.d.DataServiceImpl - Stored message on topic :#account-name/#client-id/BeaconScannerExample/beacons/AC:23:3F:24:9A:C6, priority: 5
2018-06-10 23:31:17,583 [DataServiceImpl:Submit] INFO o.e.k.c.d.t.m.MqttDataTransport - Publishing message on topic: dc/batman/baticueva/BeaconScannerExample/beacons/AC:23:3F:24:9A:C6 with QoS: 0

Now, the messages are there in broker.

1528673477: Received PUBLISH from baticueva (d0, q0, r0, m0, 'dc/batman/baticueva/BeaconScannerExample/beacons/AC:23:3F:24:9A:C6', ... (130 bytes))
1528673477: Sending PUBLISH to maquina (d0, q0, r0, m0, 'dc/batman/baticueva/BeaconScannerExample/beacons/AC:23:3F:24:9A:C6', ... (130 bytes))
1528673490: Received PUBLISH from baticueva (d0, q0, r0, m0, 'dc/batman/baticueva/BeaconScannerExample/beacons/AC:23:3F:24:9A:C6', ... (130 bytes))
1528673490: Sending PUBLISH to maquina (d0, q0, r0, m0, 'dc/batman/baticueva/BeaconScannerExample/beacons/AC:23:3F:24:9A:C6', ... (130 bytes))
1528673494: Received PINGREQ from maquina

Disconnect the cloud service from broker, lets try to store messages and check what happen after change the option in kura dashboard where show you
1528673949: Received PUBLISH from baticueva (d0, q0, r0, m0, 'dc/batman/baticueva/BeaconScannerExample/beacons/AC:23:3F:24:9A:C6', ... (130 bytes))
1528673949: Sending PUBLISH to maquina (d0, q0, r0, m0, 'dc/batman/baticueva/BeaconScannerExample/beacons/AC:23:3F:24:9A:C6', ... (130 bytes))
1528673960: Received PUBLISH from baticueva (d0, q0, r0, m0, 'dc/batman/baticueva/BeaconScannerExample/beacons/AC:23:3F:24:9A:C6', ... (130 bytes))
1528673960: Sending PUBLISH to maquina (d0, q0, r0, m0, 'dc/batman/baticueva/BeaconScannerExample/beacons/AC:23:3F:24:9A:C6', ... (130 bytes))
1528673964: Received DISCONNECT from baticueva
1528673965: Client baticueva disconnected.

Messages still apearing and sending all of them…

2018-06-10 23:44:46,860 [DataServiceImpl:ReconnectTask] INFO o.e.k.c.d.t.m.MqttDataTransport - # Connected!
2018-06-10 23:44:46,860 [DataServiceImpl:ReconnectTask] INFO o.e.k.c.d.t.m.MqttDataTransport - # ------------------------------------------------------------
2018-06-10 23:44:46,860 [DataServiceImpl:ReconnectTask] INFO o.e.k.c.d.DataServiceImpl - Notified connected
2018-06-10 23:44:46,861 [DataServiceImpl:ReconnectTask] INFO o.e.k.c.d.DataServiceImpl - New session established. Dropping all in-flight messages.
2018-06-10 23:44:46,863 [DataServiceImpl:ReconnectTask] INFO o.e.k.c.d.t.m.MqttDataTransport - Subscribing to topic: dc/dc/batman/baticueva/# with QoS: 1
2018-06-10 23:44:47,240 [DataServiceImpl:ReconnectTask] INFO o.e.k.c.Cloudlet - Cloud Client Connection Restored
2018-06-10 23:44:47,241 [DataServiceImpl:ReconnectTask] INFO o.e.k.c.Cloudlet - Cloud Client Connection Restored
2018-06-10 23:44:47,241 [DataServiceImpl:ReconnectTask] INFO o.e.k.c.Cloudlet - Cloud Client Connection Restored
2018-06-10 23:44:47,242 [DataServiceImpl:ReconnectTask] INFO o.e.k.c.Cloudlet - Cloud Client Connection Restored
2018-06-10 23:44:47,242 [DataServiceImpl:ReconnectTask] INFO o.e.k.c.Cloudlet - Cloud Client Connection Restored
2018-06-10 23:44:47,243 [DataServiceImpl:ReconnectTask] INFO o.e.k.c.Cloudlet - Cloud Client Connection Restored
2018-06-10 23:44:47,243 [DataServiceImpl:ReconnectTask] INFO o.e.k.c.p.ProvisioningServiceImpl - onConnectionEstablished
2018-06-10 23:44:47,244 [DataServiceImpl:ReconnectTask] INFO o.e.k.c.Cloudlet - Cloud Client Connection Restored
2018-06-10 23:44:47,244 [DataServiceImpl:ReconnectTask] INFO c.e.f.d.i.DiagnosticsServiceImpl - Connection established
2018-06-10 23:44:47,245 [DataServiceImpl:ReconnectTask] INFO c.e.f.d.i.DiagnosticsServiceImpl - Connection established
2018-06-10 23:44:47,255 [DataServiceImpl:ReconnectTask] INFO o.e.k.c.d.DataServiceImpl - Connected. Reconnect task will be terminated.
2018-06-10 23:44:47,264 [DataServiceImpl:Submit] INFO o.e.k.c.d.t.m.MqttDataTransport - Publishing message on topic: dc/batman/baticueva/BeaconScannerExample/beacons/AC:23:3F:24:9A:C6 with QoS: 0
2018-06-10 23:44:47,286 [DataServiceImpl:Submit] INFO o.e.k.c.d.t.m.MqttDataTransport - Publishing message on topic: dc/batman/baticueva/BeaconScannerExample/beacons/AC:23:3F:24:9A:C6 with QoS: 0
2018-06-10 23:44:47,290 [DataServiceImpl:Submit] INFO o.e.k.c.d.t.m.MqttDataTransport - Publishing message on topic: dc/batman/baticueva/BeaconScannerExample/beacons/AC:23:3F:24:9A:C6 with QoS: 0
2018-06-10 23:44:47,613 [qtp3671452-143] WARN o.e.k.n.a.v.l.WpaSupplicantConfigReader - WPA in client mode is not configured
2018-06-10 23:44:47,619 [qtp3671452-143] WARN o.e.k.n.a.v.l.PppConfigReader - getModemConfig() :: PPPD peer file does not exist - /etc/ppp/peers/HE910-D_2-1.5
2018-06-10 23:44:48,238 [qtp3671452-110] WARN o.e.k.n.a.v.l.WpaSupplicantConfigReader - WPA in client mode is not configured
2018-06-10 23:44:48,244 [qtp3671452-110] WARN o.e.k.n.a.v.l.PppConfigReader - getModemConfig() :: PPPD peer file does not exist - /etc/ppp/peers/HE910-D_2-1.5
2018-06-10 23:44:48,448 [BluetoothProcess BTSnoop Gobbler] INFO o.e.k.c.d.DataServiceImpl - Storing message on topic :#account-name/#client-id/BeaconScannerExample/beacons/AC:23:3F:24:9A:C6, priority: 5
2018-06-10 23:44:48,463 [BluetoothProcess BTSnoop Gobbler] INFO o.e.k.c.d.DataServiceImpl - Stored message on topic :#account-name/#client-id/BeaconScannerExample/beacons/AC:23:3F:24:9A:C6, priority: 5
2018-06-10 23:44:48,602 [DataServiceImpl:Submit] INFO o.e.k.c.d.t.m.MqttDataTransport - Publishing message on topic: dc/batman/baticueva/BeaconScannerExample/beacons/AC:23:3F:24:9A:C6 with QoS: 0
2018-06-10 23:44:51,603 [DataServiceImpl:Submit] INFO o.e.k.c.d.t.m.MqttDataTransport - Publishing message on topic: dc/batman/baticueva/BeaconScannerExample/beacons/AC:23:3F:24:9A:C6 with QoS: 0
2018-06-10 23:44:54,602 [DataServiceImpl:Submit] INFO o.e.k.c.d.t.m.MqttDataTransport - Publishing message on topic: dc/batman/baticueva/BeaconScannerExample/beacons/AC:23:3F:24:9A:C6 with QoS: 0
2018-06-10 23:44:57,602 [DataServiceImpl:Submit] INFO o.e.k.c.d.t.m.MqttDataTransport - Publishing message on topic: dc/batman/baticueva/BeaconScannerExample/beacons/AC:23:3F:24:9A:C6 with QoS: 0
2018-06-10 23:44:59,267 [BluetoothProcess BTSnoop Gobbler] INFO o.e.k.c.d.DataServiceImpl - Storing message on topic :#account-name/#client-id/BeaconScannerExample/beacons/AC:23:3F:24:9A:C6, priority: 5
2018-06-10 23:44:59,279 [BluetoothProcess BTSnoop Gobbler] INFO o.e.k.c.d.DataServiceImpl - Stored message on topic :#account-name/#client-id/BeaconScannerExample/beacons/AC:23:3F:24:9A:C6, priority: 5
2018-06-10 23:45:00,602 [DataServiceImpl:Submit] INFO o.e.k.c.d.t.m.MqttDataTransport - Publishing message on topic: dc/batman/baticueva/BeaconScannerExample/beacons/AC:23:3F:24:9A:C6 with QoS: 0
2018-06-10 23:45:03,603 [DataServiceImpl:Submit] INFO o.e.k.c.d.t.m.MqttDataTransport - Publishing message on topic: dc/batman/baticueva/BeaconScannerExample/beacons/AC:23:3F:24:9A:C6 with QoS: 0

So, let try to read and read and test to understand why this is happening …

Run Basic Mosquitto Broker in Docker

Steps to run a mosquitto broker in a docker:

1- Create two files:

First one mosquitto.conf where you have the basic configuration for your broker. We explain the mosquitto passwd file later.

[dalmine@rosas mosquitto]$ cat mosquitto.conf
listener 9001
protocol websockets
allow_anonymous false
password_file /mosquitto/config/passwd
[dalmine@rosas mosquitto]$

Then create an empty passwd file.

[dalmine@rosas mosquitto]$touch passwd

 

The first line of mosquitto.conf is about listener, 9001 is the default for websocket, I choose it because you can build or code other client with a lot of languages using webscoket, also you have mqtt 1883, mitts 8883 or random port as you wish , but you need to choose the protocol.

2- Set password to login

/ # mosquitto_passwd passwd alliot
Error: Empty password.
Password: / #

/ # cat passwd
batman:$6$3qbtsdsdfsdfsdfsfdsdfshdflsjdfjlksdfhskdjfh==
/ # ls

We have the command mosquitto_passwd it is part of mosquitto packages.

 

3- Run Docker

Then we need to run docker command with a lot parameter we want to avoid configuration with any provisioning tools like compose,k8s,etc,etc,etc…

 

[dalmine@rosas mosquitto]$ sudo docker run -it -p 9001:9001 -v $(pwd)/mosquitto.conf:/mosquitto/config/mosquitto.conf -v $(pwd)/passwd:/mosquitto/config/passwd -d –name mosquitto eclipse-mosquitto
91652c904c86220f43ad6d7de2402f54c30f438bd3f59b217ef6fb7e4c61127e

The command is (ONE LINE) –> docker run -it -p 9001:9001 -v $(pwd)/mosquitto.conf:/mosquitto/config/mosquitto.conf -v $(pwd)/passwd:/mosquitto/config/passwd -d –name mosquitto eclipse-mosquitto

 

4-Check logs:

[dalmine@rosas mosquitto]$ docker logs -f mosquitto
1528666018: mosquitto version 1.4.12 (build date 2017-06-01 13:03:46+0000) starting
1528666018: Config loaded from /mosquitto/config/mosquitto.conf.
1528666018: Opening websockets listen socket on port 9001.

 

We are open to receive new connections. Now we can use the mosquitto client command  line or any web/app client.

1528667142: New client connected from 45.232.92.159 as lens_HJ9OowTbqNS11toqxXxt4eFnFew (c1, k120, u’alliot’).1528667142: New client connected from 45.232.92.159 as lens_HJ9OowTbqNS11toqxXxt4eFnFew (c1, k120, u’batman’).1528667142: Sending CONNACK to lens_HJ9OowTbqNS11toqxXxt4eFnFew (0, 0)

1528667150: Received PUBLISH from lens_HJ9OowTbqNS11toqxXxt4eFnFew (d0, q0, r0, m0, ‘dc/batman/test’, … (4 bytes))1528667155: Received SUBSCRIBE from lens_HJ9OowTbqNS11toqxXxt4eFnFew1528667155: dc/batman/test (QoS 0)1528667155: lens_HJ9OowTbqNS11toqxXxt4eFnFew 0 dc/batman/test1528667155: Sending SUBACK to lens_HJ9OowTbqNS11toqxXxt4eFnFew1528667159: Received PUBLISH from lens_HJ9OowTbqNS11toqxXxt4eFnFew (d0, q0, r0, m0, ‘dc/batman/test’, … (4 bytes))1528667159: Sending PUBLISH to lens_HJ9OowTbqNS11toqxXxt4eFnFew (d0, q0, r0, m0, ‘dc/batman/test’, … (4 bytes))1528667160: New client connected from 45.232.92.159 as baticueva (c1, k30, u’alliot’).1528667160: Sending CONNACK to baticueva (0, 0)1528667160: Received SUBSCRIBE from baticueva1528667160: dc/dc/batman/baticueva/# (QoS 1)1528667160: baticueva 1 dc/dc/batman/baticueva/#1528667160: Sending SUBACK to baticueva

1528667160: Sending SUBACK to baticueva
1528667190: Received PINGREQ from baticueva
1528667190: Sending PINGRESP to baticueva
1528667220: Received PINGREQ from baticueva
1528667220: Sending PINGRESP to baticueva

The logs depends in what kind of action are you doing with broker, you hace two main action, PUBLISH  where you send a message to the broker, and the other is SUBSCRIBE.

With any client you can set be a publisher or a subscriber. Keep in mind you have QoS , quality of service where determine how you can confirm your messages.

You can now connect to your mosquitto broker with your favorite client.

 

 

 

Links

WS Mosquito

Mosquitto ECLIPSE DOCS

Mosquitto docker file

MOsquitto Password Config

 

 

 

Flisol 2018 – Valparaiso – Chile

 

Flisol – 2018 – Valparaiso.

El evento transcurrió con un publico muy activo y participativo en la totalidad de sus charlas, por cuestiones de tiempo no se llego a dar  una única charla (Y si probamos OpenBSD). La sede donde se realizo contaba con todo lo que se necesita y mucho mas. Muy conforme con los organizadores y siempre que se necesito algo había alguien para contestar y acudir a nosotros.

 


 

 

 

Las charlas transcurrieron de forma natural, muy divertidas y participativas, tanto las técnicas como las mas sociales.

 

 

 

 

 

 

 

 

 

Y como no podia faltar, las instalaciones, en este caso con una Mac Mini, PowerPC  1.2Ghz, 1G Ram que tiene instalado Openbsd lo usamos de router para poder instalar las ademas laptops, en este caso instalamos un Fedora 28.

 

 

 

 

 

 

Hasta la próxima y a seguir colaborando!!!

 

 

Openbsd Post Install Home Encryption

I will show you some steps to encrypt home directory after installation of Openbsd 6.3.

I used the default installation for this tutorial, please take in mind that default installation is not the best option .

* Unmount /home directory *

dalmine# umount /home
dalmine# df -h /home
Filesystem Size Used Avail Capacity Mounted on
/dev/wd0a 1005M 139M 816M 15% /
dalmine#

* Check our disk layout *

Now we need to check our disk layout in order to change the home type fs to RAID


dalmine# disklabel /dev/wd0c
# /dev/wd0c:
type: ESDI
disk: ESDI/IDE disk
label: KINGSTON SV300S3
duid: 9ba067d2173d5a31
flags:
bytes/sector: 512
sectors/track: 63
tracks/cylinder: 16
sectors/cylinder: 1008
cylinders: 116301
total sectors: 117231408
boundstart: 1024
boundend: 117231345
drivedata: 0

16 partitions:
# size offset fstype [fsize bsize cpg]
a: 2097152 1024 4.2BSD 2048 16384 12958 # /
b: 8641640 2098176 swap # none
c: 117231408 0 unused
d: 8291456 10739840 4.2BSD 2048 16384 12958 # /tmp
e: 13238144 19031296 4.2BSD 2048 16384 12958 # /var
f: 4194304 32269440 4.2BSD 2048 16384 12958 # /usr
g: 2097152 36463744 4.2BSD 2048 16384 12958 # /usr/X11R6
h: 17182912 38560896 4.2BSD 2048 16384 12958 # /usr/local
i: 960 64 MSDOS
j: 4194304 55743808 4.2BSD 2048 16384 12958 # /usr/src
k: 10314304 59938112 4.2BSD 2048 16384 12958 # /usr/obj
l: 46978912 70252416 4.2BSD 2048 16384 12958 # /home
dalmine#

The disk wd0c means that you will find for the entire disk, so then we need to check the home directory partition, in this case is l.

dalmine# disklabel -E /dev/wd0c
Label editor (enter '?' for help at any prompt)
> p
OpenBSD area: 1024-117231345; size: 117230321; free: 41
# size offset fstype [fsize bsize cpg]
a: 2097152 1024 4.2BSD 2048 16384 12958 # /
b: 8641640 2098176 swap # none
c: 117231408 0 unused
d: 8291456 10739840 4.2BSD 2048 16384 12958 # /tmp
e: 13238144 19031296 4.2BSD 2048 16384 12958 # /var
f: 4194304 32269440 4.2BSD 2048 16384 12958 # /usr
g: 2097152 36463744 4.2BSD 2048 16384 12958 # /usr/X11R6
h: 17182912 38560896 4.2BSD 2048 16384 12958 # /usr/local
i: 960 64 MSDOS
j: 4194304 55743808 4.2BSD 2048 16384 12958 # /usr/src
k: 10314304 59938112 4.2BSD 2048 16384 12958 # /usr/obj
l: 46978912 70252416 4.2BSD 2048 16384 12958 # /home
> m

partition to modify: [] l


offset: [70252416]


size: [46978912]


FS type: [4.2BSD] RAID


> w


> q

No label changes.
dalmine#
dalmine# disklabel /dev/wd0c
# /dev/wd0c:
type: ESDI
disk: ESDI/IDE disk
label: KINGSTON SV300S3
duid: 9ba067d2173d5a31
flags:
bytes/sector: 512
sectors/track: 63
tracks/cylinder: 16
sectors/cylinder: 1008
cylinders: 116301
total sectors: 117231408
boundstart: 1024
boundend: 117231345
drivedata: 0

16 partitions:
# size offset fstype [fsize bsize cpg]
a: 2097152 1024 4.2BSD 2048 16384 12958 # /
b: 8641640 2098176 swap # none
c: 117231408 0 unused
d: 8291456 10739840 4.2BSD 2048 16384 12958 # /tmp
e: 13238144 19031296 4.2BSD 2048 16384 12958 # /var
f: 4194304 32269440 4.2BSD 2048 16384 12958 # /usr
g: 2097152 36463744 4.2BSD 2048 16384 12958 # /usr/X11R6
h: 17182912 38560896 4.2BSD 2048 16384 12958 # /usr/local
i: 960 64 MSDOS
j: 4194304 55743808 4.2BSD 2048 16384 12958 # /usr/src
k: 10314304 59938112 4.2BSD 2048 16384 12958 # /usr/obj
l: 46978912 70252416 RAID # /home
dalmine#

Now the home is in RAID device so we need to start the encryption process.

* Lets start the encryption process *

Now we need to write some random data and then create encryption . Remember now will use rwd0l because I have disk in wdxx if you have another kind of disk maybe you will have sdxx.

dalmine# dd if=/dev/random of=/dev/rwd0l bs=4m

^C681+0 records in
680+0 records out
2852126720 bytes transferred in 55.752 secs (51157096 bytes/sec)
dalmine#

Wait some minutes then try control + C.


dalmine# bioctl -c C -l /dev/wd0l softraid0
New passphrase:
Re-type passphrase:
softraid0: CRYPTO volume attached as sd0
dalmine#

You have now the disk with passphrase and you will use the new device sd0 in my case. Now we need to create the partition for this new device but first write some zeros to remove old data.

dalmine# dd if=/dev/zero of=/dev/rsd0c bs=1m count=1
1+0 records in
1+0 records out
1048576 bytes transferred in 0.039 secs (26516426 bytes/sec)
dalmine#

Write table info


dalmine# fdisk -iy sd0
Writing MBR at offset 0.
dalmine#

Now write partition

dalmine# disklabel sd0
# /dev/rsd0c:
type: SCSI
disk: SCSI disk
label: SR CRYPTO
duid: 0000000000000000
flags:
bytes/sector: 512
sectors/track: 63
tracks/cylinder: 255
sectors/cylinder: 16065
cylinders: 2924
total sectors: 46978384
boundstart: 64
boundend: 46974060
drivedata: 0

16 partitions:
# size offset fstype [fsize bsize cpg]
c: 46978384 0 unused
dalmine#
dalmine# disklabel -E sd0
Label editor (enter ‘?’ for help at any prompt)
> a
partition: [a]
offset: [64]
size: [46973996]
FS type: [4.2BSD]
Rounding size to bsize (32 sectors): 46973984
> w
> q
No label changes.
dalmine#

And now create filesystem.

dalmine# newfs /dev/rsd0a
/dev/rsd0a: 22936.5MB in 46973984 sectors of 512 bytes
114 cylinder groups of 202.47MB, 12958 blocks, 25984 inodes each
super-block backups (for fsck -b #) at:
32, 414688, 829344, 1244000, 1658656, 2073312, 2487968, 2902624, 3317280, 3731936, 4146592, 4561248, 4975904, 5390560, 5805216, 6219872, 6634528, 7049184, 7463840, 7878496, 8293152, 8707808,
9122464, 9537120, 9951776, 10366432, 10781088, 11195744, 11610400, 12025056, 12439712, 12854368, 13269024, 13683680, 14098336, 14512992, 14927648, 15342304, 15756960, 16171616, 16586272, 17000928,
17415584, 17830240, 18244896, 18659552, 19074208, 19488864, 19903520, 20318176, 20732832, 21147488, 21562144, 21976800, 22391456, 22806112, 23220768, 23635424, 24050080, 24464736, 24879392,
25294048, 25708704, 26123360, 26538016, 26952672, 27367328, 27781984, 28196640, 28611296, 29025952, 29440608, 29855264, 30269920, 30684576, 31099232, 31513888, 31928544, 32343200, 32757856,
33172512, 33587168, 34001824, 34416480, 34831136, 35245792, 35660448, 36075104, 36489760, 36904416, 37319072, 37733728, 38148384, 38563040, 38977696, 39392352, 39807008, 40221664, 40636320,
41050976, 41465632, 41880288, 42294944, 42709600, 43124256, 43538912, 43953568, 44368224, 44782880, 45197536, 45612192, 46026848, 46441504, 46856160,
dalmine#

 

We need now to change the fstab info so first lets try to check the uuid of block device and raw device to create a script to ask for passphrase.

dalmine# disklabel wd0a | grep uid
duid: 9ba067d2173d5a31
dalmine# disklabel sd0a | grep uid
duid: f4290a11cad7a825
dalmine#

The first one is for block device and the second one is for mount device.

dalmine# cat /etc/fstab |grep -i home
f4290a11cad7a825.a /home ffs rw,nodev,nosuid 1 2
#9ba067d2173d5a31.l /home ffs rw,nodev,nosuid 1 2
dalmine#

We can test it

dalmine# mount /home
dalmine# df -h
Filesystem Size Used Avail Capacity Mounted on
/dev/wd0a 1005M 139M 816M 15% /
/dev/wd0d 3.9G 10.0K 3.7G 0% /tmp
/dev/wd0f 2.0G 694M 1.2G 36% /usr
/dev/wd0g 1005M 178M 777M 19% /usr/X11R6
/dev/wd0h 8.1G 1.9G 5.8G 25% /usr/local
/dev/wd0k 4.8G 2.0K 4.6G 0% /usr/obj
/dev/wd0j 2.0G 2.0K 1.9G 0% /usr/src
/dev/wd0e 6.2G 13.4M 5.9G 0% /var
/dev/sd0a 22.0G 2.0K 20.9G 0% /home
dalmine#

Then comment again the home line.

dalmine# umount /home
dalmine# vi /etc/fstab
dalmine# cat /etc/fstab
9ba067d2173d5a31.b none swap sw
9ba067d2173d5a31.a / ffs rw 1 1
#f4290a11cad7a825.a /home ffs rw,nodev,nosuid 1 2
#9ba067d2173d5a31.l /home ffs rw,nodev,nosuid 1 2
9ba067d2173d5a31.d /tmp ffs rw,nodev,nosuid 1 2
9ba067d2173d5a31.f /usr ffs rw,nodev 1 2
9ba067d2173d5a31.g /usr/X11R6 ffs rw,nodev 1 2
9ba067d2173d5a31.h /usr/local ffs rw,wxallowed,nodev 1 2
9ba067d2173d5a31.k /usr/obj ffs rw,nodev,nosuid 1 2
9ba067d2173d5a31.j /usr/src ffs rw,nodev,nosuid 1 2
ba067d2173d5a31.e /var ffs rw,nodev,nosuid 1 2
dalmine#
dalmine# bioctl -d /dev/sd0c
sd0 detached
dalmine#

And now we can create a rc.local script to add logic to auto mount the home.

dalmine# cat /etc/rc.local
for attept in 1 2 3 4; do
bioctl -c C -l 9ba067d2173d5a31.l softraid0 && break
sleep 1
done
fsck /dev/rsd0a
ount -o nodev,nosuid,softdep f4290a11cad7a825.a /home
dalmine#

Now run the script.


dalmine# /etc/rc.local
Passphrase:
softraid0: CRYPTO volume attached as sd0
** /dev/rsd0a
** File system is clean; not checking
dalmine# df -h /home
Filesystem Size Used Avail Capacity Mounted on
/dev/sd0a 22.0G 2.0K 20.9G 0% /home
dalmine#
sd0 at scsibus2 targ 1 lun 0: SCSI2 0/direct fixed
sd0: 22938MB, 512 bytes/sector, 46978384 sectors

 
Now next boot will ask passphrase before continue the boot process.
Links:
How to encrypt

Compile and Install Go 1.8 in ppc64 Ubuntu Linux Xenial

I started this topic thinking about how to install go in ppc64 arch, at this moment only ppc64 is supported by golang. Im not an expert about cross compiling and go development so I did it only with the unique reason to have go compiled and ready to work to continue working in my new ppc64 g5 computer. All of those steps are part of other link so I did the same steps.

Step 1:
I use my virtual machine with centos7 in order to create the bootstrap package for ppc64 because I had several error in compiling steps in osX so this was my decision to move ahead with a virtual machine as I said before no time to debug why is not working. I tried also with 1.9 and 1.10 but I have some error, with 1.8 works fine.
We need to build first go1.4 in the virtual machine.

[vagrant@localhost ~]$ git clone https://go.googlesource.com/go $HOME/go1.4
[vagrant@localhost ~]$ cd $HOME/go1.4/src
[vagrant@localhost go1.4]$ git checkout release-branch.go1.4
[vagrant@localhost go1.4]$ ./make.bash

Step 2:
Then we need to build go1.8 as a bootstrap package.

[vagrant@localhost ~]$ git clone https://go.googlesource.com/go $HOME/go
[vagrant@localhost ~]$ cd $HOME/go/src
[vagrant@localhost go/src]$ git checkout release-branch.go1.8
[vagrant@localhost go/src]$ env GOROOT_BOOTSTRAP=$HOME/go1.4 ./make.bash

Step 3:
Now we are ready to compile the bootstrap to ppc64. From our go1.8 installed version we can start the process.

[vagrant@localhost ~]$ cd $HOME/go/src
[vagrant@localhost go/src]$env GOOS=linux GOARCH=ppc64 ./bootstrap.bash
...
Bootstrap toolchain for linux/ppc64 installed in /home/vagrant/go-linux-ppc64-bootstrap.
Building tbz.
-rw-rw-r--. 1 vagrant vagrant 55135445 Mar 25 12:57 /home/vagrant/go-linux-ppc64-bootstrap.tbz

Step 4:
Now we need to copy the file to the remote machine and compile it

[vagrant@localhost ~]$ ls -l /home/vagrant/go-linux-ppc64-bootstrap.tbz
-rw-rw-r--. 1 vagrant vagrant 55135445 Mar 25 12:57 /home/vagrant/go-linux-ppc64-bootstrap.tbz
[vagrant@localhost ~]$
[vagrant@localhost ~]$ scp go-linux-ppc64-bootstrap.tbz dalmine@192.168.1.85:/home/dalmine
[vagrant@localhost ~]$ ssh dalmine@192.168.1.85
dalmine@ubuntu:~$
dalmine@ubuntu:~$ tar xjf go-linux-ppc64-bootstrap.tbz
dalmine@ubuntu:~$ git clone https://go.googlesource.com/go $HOME/go
dalmine@ubuntu:~$ cd $HOME/go/src
dalmine@ubuntu:~/go/src$ git checkout release-branch.go1.8
dalmine@ubuntu:~/go/src$ env GOROOT_BOOTSTRAP=$HOME/go-linux-ppc64-bootstrap ./make.bash
---
Installed Go for linux/ppc64 in /home/dalmine/go
Installed commands in /home/dalmine/go/bin

Step 5:
We need to configure go environment now in order to start using go language.
First check we have two important variables GOPATH and GOROOT, I will left the GOROOT in the same place where I did my compilation and set GOPATH in other place.

dalmine@ubuntu:~$ /home/dalmine/go/bin/go env
GOARCH="ppc64"
GOBIN=""
GOEXE=""
GOHOSTARCH="ppc64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/dalmine/violeta/languagues/go"
GORACE=""
GOROOT="/home/dalmine/go"
GOTOOLDIR="/home/dalmine/go/pkg/tool/linux_ppc64"
GCCGO="gccgo"
CC="gcc"
GOGCCFLAGS="-fPIC -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build083414496=/tmp/go-build -gno-record-gcc-switches"
CXX="g++"
CGO_ENABLED="0"
PKG_CONFIG="pkg-config"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
dalmine@ubuntu:~$
dalmine@ubuntu:~$ tail -n2 .bashrc
export GOPATH=/home/dalmine/violeta/languagues/go
export GOROOT=$HOME/go
dalmine@ubuntu:~$
dalmine@ubuntu:~$ tail -n3 .bashrc
export GOPATH=/home/dalmine/violeta/languagues/go
export GOROOT=$HOME/go
PATH=$PATH:$GOROOT/bin
dalmine@ubuntu:~$
dalmine@ubuntu:~$ go version
go version go1.8.7 linux/ppc64
dalmine@ubuntu:~$

Step 6:
Now lets try to get a package from GitHub and then build it.

dalmine@ubuntu:~$ go get github.com/villadalmine/go
package github.com/villadalmine/go: no buildable Go source files in /home/dalmine/violeta/languagues/go/src/github.com/villadalmine/go
dalmine@ubuntu:~$
dalmine@ubuntu:~/violeta/languagues/go/src/github.com/villadalmine/go/hello$ pwd
/home/dalmine/violeta/languagues/go/src/github.com/villadalmine/go/hello
dalmine@ubuntu:~/violeta/languagues/go/src/github.com/villadalmine/go/hello$ go build
dalmine@ubuntu:~/violeta/languagues/go/src/github.com/villadalmine/go/hello$ ./hello
Hello linux/ppc64
dalmine@ubuntu:~/violeta/languagues/go/src/github.com/villadalmine/go/hello$

Step 7
We can make cross compiling from our ppc64


dalmine@ubuntu:~/violeta/languagues/go/src/github.com/villadalmine/go/hello$ env GOOS=darwin GOARCH=amd64 go build
dalmine@ubuntu:~/violeta/languagues/go/src/github.com/villadalmine/go/hello$ file hello
hello: Mach-O 64-bit x86_64 executable
dalmine@ubuntu:~/violeta/languagues/go/src/github.com/villadalmine/go/hello$
[I] ~ scp dalmine@192.168.1.85:/home/dalmine/violeta/languagues/go/src/github.com/villadalmine/go/hello/hello .
dalmine@192.168.1.85's password:
hello 100% 1598KB 1.3MB/s 00:01
[I] ~ ./hello
Hello darwin/amd64
[I] ~

Remember all examples are written without a lot expertise in golang and cross compiling stuff so they are a lot of things to do with better methods. Please do not follow it as standard procedures.

Links:
PPC64 How To
Go Binaries
Golang Variables

Installing a VM Fedora 23 Cloud Atomic with KVM – Part 1

Step 1 :

Download Fedora Cloud Atomic

Step 2:

Creates files to use in generation of init.iso
user-data , here you can configure your ssh keys and password for the user fedora
Download user-data
meta-data, here you can configure instance-id name and fqdn of vm
Download meta-data
init.iso will be used in order to use in boot process to configure the mentioned data
Download init.so
If you want to generate the init.iso just run this command:

~/l/r/v/cloud.init genisoimage -output cloudinit.iso -volid cidata -joliet  -rock user-data meta-data 
I: -input-charset not specified, using utf-8 (detected in locale settings)
Total translation table size: 0
Total rockridge attributes bytes: 331
Total directory bytes: 0
Path table size(bytes): 10
Max brk space used 0
183 extents written (0 MB)
~/l/r/v/cloud.init 

Steps to create the vm:

Selección_101 Selección_100 Selección_099 Selección_098 Selección_097 Selección_096 Selección_095 Selección_094 Selección_093 Selección_092 Selección_091

Steps to Connect:

Then connect to the server with the correct ip address , user fedora and the correct password typed in user-data. If you use my init.iso, the password is atomicfedora.

Step to detect network interface:

Now, you need to change the ip address from dhcp to fixed, please edit the name of your interface.

[fedora@fedora ~]$ pwd
/home/fedora
[fedora@fedora ~]$ hostname -f
fedora.atomic.cloud
[fedora@fedora ~]$ ip a s |grep -v lo | egrep -i "^2:*"|awk  '{print $2}'|sed 's/://'
ens3
[fedora@fedora ~]$ 

 

Step to configure fixed network:

Fill some values with your correct ip range

[fedora@fedora network-scripts]$ cat ifcfg-ens3 
# Generated by dracut initrd
NAME="ens3"
DEVICE="ens3"
ONBOOT=yes
NETBOOT=yes
UUID="6092d4c8-9536-47b1-bf42-9567bd570863"
IPV6INIT=no
TYPE=Ethernet
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
PEERDNS=yes
PEERROUTES=yes
DNS1=192.168.122.1
IPADDR=192.168.122.233
GATEWAY=192.168.122.1
NETMASK=255.255.255.0
[fedora@fedora network-scripts]$ 

Then down an up interface:

[fedora@fedora network-scripts]$ sudo su -
-bash-4.3# ifdown ens3 && ifup ens3
Device 'ens3' successfully disconnected.
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/1)
-bash-4.3# 

Then try to do network testing, ping, dns, etc..

 

Step to check Atomic:

-bash-4.3# atomic host status
  TIMESTAMP (UTC)         VERSION    ID             OSNAME            REFSPEC                                                
* 2016-04-19 19:04:34     23.106     05052ae3bb     fedora-atomic     fedora-atomic:fedora-atomic/f23/x86_64/docker-host     
-bash-4.3# 

Get some info about the next container to install and info of our docker configuration.

-bash-4.3# atomic info fedora/cockpitws
INSTALL: /usr/bin/docker run -ti --rm --privileged -v /:/host IMAGE /container/atomic-install
UNINSTALL: /usr/bin/docker run -ti --rm --privileged -v /:/host IMAGE /cockpit/atomic-uninstall
RUN: /usr/bin/docker run -d --privileged --pid=host -v /:/host IMAGE /container/atomic-run --local-ssh
-bash-4.3# docker info
Containers: 0
Images: 0
Server Version: 1.9.1
Storage Driver: devicemapper
 Pool Name: atomicos-docker--pool
 Pool Blocksize: 524.3 kB
 Base Device Size: 107.4 GB
 Backing Filesystem: xfs
 Data file: 
 Metadata file: 
 Data Space Used: 62.39 MB
 Data Space Total: 2.147 GB
 Data Space Available: 2.085 GB
 Metadata Space Used: 40.96 kB
 Metadata Space Total: 8.389 MB
 Metadata Space Available: 8.348 MB
 Udev Sync Supported: true
 Deferred Removal Enabled: true
 Deferred Deletion Enabled: true
 Deferred Deleted Device Count: 0
 Library Version: 1.02.109 (2015-09-22)
Execution Driver: native-0.2
Logging Driver: journald
Kernel Version: 4.4.6-301.fc23.x86_64
Operating System: Fedora 23 (Twenty Three)
CPUs: 1
Total Memory: 993.1 MiB
Name: fedora.atomic.cloud
ID: Z6GY:ZKDF:QAS5:SBFC:OO2J:75AW:KDJG:GGMN:CR3V:CAUS:SGMI:RJTE
-bash-4.3# 

Run atomic host upgrade, in order to upgrade the system.

-bash-4.3# atomic  host upgrade
Updating from: fedora-atomic:fedora-atomic/f23/x86_64/docker-host

Receiving metadata objects: 

 

Next part will show you how to configure docker storage backend and install cockpit container as a service.

 

Links

Reference 1

Reference 2

Flisol 2016 – Santiago-Cusco-Curuzu Cuatia

Este año me toco compartir el Flisol en Santiago de Chile, una hermosa ciudad llena de gente con mucha energia y compañerismo. Tambien en paralelo pude dar una charla para la gente de Cusco (Peru) y un video que envie a la gente de Curuzu Cuatia (Argentina))

11416172_2805642762797731_4434570062838836329_n 12974355_1769816169907850_6593522860474068800_n 13029450_1004069192974171_2056566601971888692_o

Durante la previa del evento pude participar en algunas ocasiones no en toda su plenitud , pero  asi pude ir integrandome de a poco. Y coomo todo el dia llegaba y los nervios y las ganas de estar ahi ya empezando a recibir la gente y esperar las aulas llenas y gente que venga a preguntar todo !!

13086913_1004074799640277_1396794641612837604_ophoto_2016-04-25_09-23-06 13086806_1003994529648304_5047867377136278754_o 13040919_1003994296314994_5765772339540422260_o 13055237_1003994309648326_2157868769992284092_o 13040888_10154146792554583_2705745852955557831_o 13063251_10154146938294583_1440762702554847896_o 13041098_1003994749648282_6412128628468137104_o 13063324_1003994732981617_8055017190689548777_o

El evento transcurrio con mucha fuerza, como siempre momentos donde hubo mas gentes y momentos donde se dispersaban mas, a pesar de que se dio en un lugar no tan cercano la convocatoria fue mas que positiva, el reencuentro con amigos tambien lo fue :)…

13062490_10154146493709583_7434897854136450354_n

Y para ir terminando un saludo a todos los que participamos y los que se acercaron, por mas eventos, por mas software libre..

13055690_10154146746674583_5002337334689096108_oDSCF1188

 

PampaSeg – Dia 2 – Santa Rosa, La Pampa Argentina

Este segundo dia del evento fue tambien muy entretenido, con charlas y talleres interesantes, ademas por ser un sabado el publico vino sin chistar !!

Me toco abrir esta vez el sabado con un breve taller de Puppet donde explique un poco que es lo que hace puppet y mostre algunos ejemplos de los componentes mas fundamentales como para que se vayan con una idea de como empezar.

12184988_1101918936494183_3610080030348021269_o

Luego de este taller nos fuimos a almorzar para nuevamente seguir pero esta vez con una charla mas al core del evento que es Seguridad, y lo que expuse fue una breve introduccion de SElinux en Fedora, mostrando como funciona y algunos aspectos basicos a tener en cuenta, quiero agradecer a Leonardo Vaz que me brindo la presentacion 🙂

 

12375220_1101918976494179_2112264643765478343_o

Luego de dar esta charla di el pie para la que que venia de la mano de Alexis –> De FreeBSD a HardenedBSD – Alexis Sarghel, donde paso por diversos temas variados de seguridad.

 

 

12339586_1101919253160818_2887299965274472239_o

El evento finalizo luego de tres charlas mas, Drones, Auditoria de un stack con elk y Analísis de NTP y HSTS donde se mostro como se podia explotar la vulnerabilidad. Un evento muy interesante lleno de diferentes matices, tematicas y mucha buena onda, supero agradecido por todo lo que hicieron para que pueda estar alli, espero poder ir el proximo año!! Gracias!!

 

12365996_1101919269827483_4802273992229549558_o 12375060_1101919773160766_232292802929887016_o 12339119_1101920319827378_2624841112809950057_o

 

Dataops Latam 2015 – Dia 2 , 20/11- Caba Buenos Aires

Y llego el segundo dia, ya el dia en que tuvimos que dar nuestras charlas, Projecto Atomic y Cloud Foundry 101.

12243491_10153749506049583_2612923729332916673_n

12237977_10153749652749583_6660067614758935856_o

11057482_982134858515996_8362618453728792120_o  11234869_10153749652724583_6849782128137491900_o

 

 

 

El evento fue en un lugar muy reconocido de CABA, un nivel excelente e instalaciones impecables, un evento que cada vez toma mas renombre y calidad.

 

 

12309692_982151251847690_2562748412583863540_o 12244768_982140821848733_6123717635129043089_o 12307925_982140535182095_4315618114725149521_o

Tuve la oportunidad de poder ganarme algo, gracias a mi compañero que a minutos de hacer el sorteo me animo para inscribirme !!

12219546_10153749508634583_2453893208508074424_n 12239423_10153749041404583_6391694150521355779_o 12291732_982129318516550_3482717197639518206_o

 

 

 

 

Esperamos ya el año que viene para participar devuelta de una forma mas activaa!! Gracias!!

Dataops Latam 2015 – Dia 1 , 19/11- Caba Buenos Aires

12304440_982133518516130_5781349669009468481_oEste año me toco participar por suerte en este evento,  otra vez las cosas se dieron asi muy apuradas no esperaba estar pero por suerte pude ser, no como me hubiese querido pero se pudo estar. Este año y como siempre se caracterizo por tener grandes exponentes y un transfrondo mas orientado a ciertas tecnologias como lo menciona en su pagina ” Aprender cómo utilizar MySQL con las tecnologías emergentes tales como cloud computing, dispositivos de estado sólido, NAS, SAN y bases de datos NoSQL en la nube.

Grandes exponentes y Ceo de diferentes lugares, muy buena participacion a niel internacional y referentes latinoamericanos. El primer dia se  destaco con charlas de Openstack , MariaDB,Apache FLume, Amazon Services y mucho sobre diferentes tecnicas de cluster, seguridad, performance sobre base de datos.

12265672_982130785183070_2446140703312751062_o

12240264_10153747414084583_8596468600607925083_o

12238230_10153747413014583_1760675963482128532_o